|
|
||||||
Классификация линий18.05.2014, 14:43. Показов 1149. Ответов 8
Метки нет (Все метки)
Есть совокупность графиков нескольких гладких функций одного действительного аргумента, которые имеют разную область определения и значения. Все эти функции в совокупности удовлетворяют следующему свойству: в любой точке x определены ровно n функций. Иными словами, все эти функции в совокупности можно мыслить как кусочно-гладкую функцию
Дано: сетка на оси абсцисс и совокупность точек, взятых по этой сетке, т.е. дана таблица Проблема: допустим, есть три функции. Одна из них — константный нуль, определенный на (-1,1), вторая — x+1 на (-1,0), третья — x-1 на (0,1). В точке x=0 вторая обрывается и начинается третья. Если делать таблицу с шагом 2/5, то будет следующее:
Задача: восстановить кривые так, чтоб пересекающиеся кривые пересекались и на графике восстановленных функций, а обрывающиеся кривые обравылись и на графике. Хочется определить, сколько всего имеется пересечений линий, сколько всего кривых, в каком диапазоне лежит каждаяю Помогите, пожалуйста. Кроме брутфорса в голову ничего не лезет, а ограничения достаточно жестки: n ~ 500, количество строк в таблице m >> n, m ~ 5 000, их достаточно много, чтобы распознать (визуально) любое пересечение, т.е. сетка не крупная, а мелкая. Можно принимать любые предположения о гладкости и ограниченности функций.
0
|
||||||
| 18.05.2014, 14:43 | |
|
Ответы с готовыми решениями:
8
Классификация случайных процессов Уменьшение изображения и классификация Классификация музыкальных файлов по жанру (писать не прошу - источники подскажите). |
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 19.05.2014, 11:52 | |
|
Подожди, выходные данные какие ? Т.е нужно выдать массив точек на графике таким образом, чтобы n уменьшилось, склеив графики функций пересекающихся на краях интервалов определения?
Имеется ли специальное число показывающее что значении функций в данной точке нет ? Т.е. если функция не определенна для заданного xi ? А этот пример. Разве там не происходит разрыв шириной в 0,8 и 0,4 ? (вроде в математике определен термин для ширины разрыва кусочной функции, но забыл/не могу найти). Я так понял что склеивать эти три функции вообще нельзя, так как у=0 имеет общую область определения с остальными двумя, а у=х+1 и у=х-1 образуют разрыв. Неудачный пример? С точки зрения математики (по крайней мере в том виде как это вижу я) склеивать графики мы можем только если координаты точек графиков на границах областей определения совпадают, так как тогда мы получим график кусочно гладкой функции, основанной именно на этих графиках и именно на данной области определения, плюс требование задачи к пересекающимся и не пересекающимся графикам. Если мы имеем число "тут функция не определена", то мы можем составить график/функцию из любых функций, таких что полученная кусочно-гладкая функция будет включать: 1) графики функций с совпадающими концами по (х;у) 2) графики функций, область определения которых отстоит от всех соседей более чем на один отсчет, если только сосед не удовлетворяет пункту (1) 3) "пустые" места заполнены "символами" "функция не определена" Добавлено через 9 минут Брутфорс? А мне почему-то припомнился алгоритм коммивояжёра.
0
|
|
|
|
||
| 19.05.2014, 19:01 [ТС] | ||
|
Дана таблица и только.
Пример таблицы
Вообще-то данные поступают в виде набора точек: {{{-1, 0}, {-1, 1/10}}, {{-(93/100), 0}, {-(93/100), 17/ 100}}, {{-(43/50), 0}, {-(43/50), 6/25}}, {{-(79/100), 0}, {-(79/100), 31/100}}, {{-(18/25), 0}, {-(18/25), 19/ 50}}, {{-(13/20), 0}, {-(13/20), 9/20}}, {{-(29/50), 0}, {-(29/50), 13/25}}, {{-(51/100), 0}, {-(51/100), 59/100}}, {{-(11/25), 0}, {-(11/25), 33/50}}, {{-(37/100), 0}, {-(37/100), 73/ 100}}, {{-(3/10), 0}, {-(3/10), 4/5}}, {{-(23/100), 0}, {-(23/100), 87/100}}, {{-(4/25), 0}, {-(4/25), 47/50}}, {{-(9/100), 0}, {-(9/100), 101/100}}, {{-(1/50), 0}, {-(1/50), 27/ 25}}, {{0, -(11/10)}, {0, 0}}, {{7/100, -(103/100)}, {7/100, 0}}, {{7/50, -(24/25)}, {7/50, 0}}, {{21/100, -(89/100)}, {21/100, 0}}, {{7/25, -(41/50)}, {7/25, 0}}, {{7/20, -(3/4)}, {7/20, 0}}, {{21/50, -(17/25)}, {21/50, 0}}, {{49/100, -(61/100)}, {49/ 100, 0}}, {{14/25, -(27/50)}, {14/25, 0}}, {{63/ 100, -(47/100)}, {63/100, 0}}, {{7/10, -(2/5)}, {7/10, 0}}, {{77/ 100, -(33/100)}, {77/100, 0}}, {{21/25, -(13/50)}, {21/25, 0}}, {{91/100, -(19/100)}, {91/100, 0}}, {{49/50, -(3/25)}, {49/50, 0}}} Если отобразить две кривые, соответствующие y1 и y2 (вторая и третья колонки таблицы), то будет так:
На выходе хочется получить число непрерывных кривых и точки, которые им принадлежат. Я такой алгоритм придумал: взять некоторое количество точек (я брал ~10) слева и предположить, что кривые не успевают пересечься. Затем по этим точкам экстраполировать на следующую точку слева и сравнить предсказание с реальностью. Классифицировать: отклонение в пределах погрешности экстраполяции / две кривые пересекаются / одна кривая обрывается, а другая начинается. Работает, но медленно очень. n неизменно.
0
|
||
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
||
| 19.05.2014, 22:39 | ||
|
Имеется ли информация о типе графиков? Например, всегда линейные. Я вот думаю, можно ли выделить дополнительные свойства графиков, что облегчит склеивание.
0
|
||
|
|
|
| 19.05.2014, 23:30 [ТС] | |
|
Можно считать все функции достаточно гладкими и ограниченными. Например, можно предполагать, что производная (первая, вторая) на расстоянии одного отсчёта меняются слабо.
Ещё раз повторю, что есть два типа неприятностей в такой таблице: 1. пересечение кривых ведёт к перепутыванию частей двух соседних столбцов, как хромосомы при кроссинговере. 2. одна кривая заканчивается, а другая с другой стороны от массива кривых начинается. В определённом смысле этот случай похож на первому, потому что здесь все столбцы сдвигаются циклично. По первому случаю хочется проследить движение каждой кривой и определить пересечения между собой. По второму — определить число кривых и их области определения.
0
|
|
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 20.05.2014, 21:37 | |
|
Использование кроссинговера было обнаружено только при анализе данных или это заранее было известно?
Сомневаюсь что я сейчас выражу особо уникальную идею, но все же: - на основе хотя бы первой производной разбить графики на непрерывные куски. - для концов каждого непрерывного куска сформировать тройки (x,y,dy) (плюс флаг к левому или правому краю эта тройка относится) - склеивать графики по признаку 1) склеиваемые краи отстоят на один отсчет 2) разница в первых производных не превышает погрешность 3) разница в высоте краев не противоречит первой производной + погрешность
1
|
|
|
|
|
| 04.06.2014, 22:34 [ТС] | |
|
Задача стала актуальной снова, поскольку наконец-то появились данные, на которых можно наглядно показать, что есть и что хочется.
В приложении находится файлик с данными в немного отличающемся от описанного выше формате: это список из m наборов, каждый набор есть список из n точек, каждая точка есть пара {x,y}. В одном наборе все абсциссы совпадают, т.е. данные выглядят так: { { {x1,y11}, {x1,y12}, {x1,y13} }, { {x2,y21}, {x2,y22}, {x2,y23} }, ... } В приложении также можете увидеть картинку, которая получается, если каждый каждый столбец этой двумерной матрицы из точек изображать, как отдельную ломаную линию, которая проходит через точки: линия 1: {x1,y11}-{x2,y21}-{x3,y31}-... линия 2: {x1,y12}-{x2,y22}-{x3,y32}-... На второй картинке увидеть расположение всех точек, цвет отмечает столбец, которому она принадлежит. wingblack, когда Вы увидели конкретный пример, а не теоретический, как раньше, Вы сможете подсказать алгоритм, который бы обработал эту ситуацию за приемлемое (< часа) время, более конкретно? Я не представляю, как реализовать то, что Вы предложили.
0
|
|
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 04.06.2014, 23:58 | |
|
А подскажите как называется такая структура данных и какие готовые инструменты/шаблоны кода существуют для их ввода в программу, чтобы не изобретать велосипед на костылях?
Т.е. мы имеем набор для графиков слева , а нужно - чтобы данные создавали рисунок справа? Добавлено через 35 минут Хотелось хотя бы в экселе просмотреть на графики повнимательней, чтобы увидеть как именно ведет себя каждый столбик данных. Внешне напоминает запись переменного тока, как кардиограмма. Тут точки задают вершины "пилы" или в том числе могут быть на линии между вершинами?
0
|
|
| 06.06.2014, 15:15 | ||
(не говоря уже об отвечать). Но когда предъявлена картинка (пост #7) оказывается задача-то вполне земная - восстановить ф-ции по точкам?
0
|
||
| 06.06.2014, 15:15 | |
|
Помогаю со студенческими работами здесь
9
Классификация полиморфизма Языки программирования и их классификация Классификация функций и классов. Классификация изображений на основе онтологии
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|