Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 Re: Поиск аппроксимирующей функции
Adventor в сообщении #1411663 писал(а):
Если вариантов нет, то придется интерполировать.
Так аппроксимация с последующим получением промежуточных точек - это и есть интерполяция. Вариантов аппроксимации как раз больше, чем вам хочется. Разложение по какой-нибудь системе ортогональных функций может быть хорошим вариантом для вас. Отразите симметрично (чтобы не было разрывов) и разложите в ряд Фурье, например, оставив только начальные члены ряда с косинусами. Или попробуйте полиномы Лежандра. В любом случае, вам потребуется какой-нибудь критерий качества аппроксимации, например, сумма квадратов отклонений точек, возможно, взвешенная, чтобы лучше разрешить центральную область и не рассматривать поведение в окрестности нуля.

 Re: Поиск аппроксимирующей функции
arseniiv в сообщении #1411673 писал(а):
Ну тогда теми же сплайнами. Если брать мало кусков и малые степени, будет мало параметров.

Хорошо, возьму это за точку отсчета.

 Re: Поиск аппроксимирующей функции
Аватара пользователя
Либо кусочным полиномом (сплайном).
Либо взвешенным сплайном(NURBS) c фиксированным числом точек.
Либо обратным взвешенным расстоянием(IDW).

Так как 2 и 3 функции не линейные, то стоит использовать нелинейную минимизацию что-бы найти коэффициенты.

 Re: Поиск аппроксимирующей функции
Аватара пользователя
Adventor в сообщении #1411621 писал(а):
нужно подобрать общий вид аппроксимирующей функции для всех наборов

Эту функцию можно считать центрально-симметричной исходя из физики?

 Re: Поиск аппроксимирующей функции
Adventor в сообщении #1411668 писал(а):
Подзадача описать распределение яркости по радиусу примерно такая же как вся эта задача.
Это верно, но пытаться подбирать аппроксимацию без учета того, как выглядит модель потемнения, более-менее бессмысленно.

 Re: Поиск аппроксимирующей функции
Александрович в сообщении #1411696 писал(а):
Эту функцию можно считать центрально-симметричной исходя из физики?

Я не совсем понимаю что имелось в виду под "центрально-симметричной", но наверно да

 Re: Поиск аппроксимирующей функции
Аватара пользователя
Adventor в сообщении #1411713 писал(а):
что имелось в виду под "центрально-симметричной"

Если вашу кривую повернуть на 180 градусов относительно точки $(1000; 0,5)$ она совпадёт с исходной.

 Re: Поиск аппроксимирующей функции
Александрович в сообщении #1411729 писал(а):
Если вашу кривую повернуть на 180 градусов относительно точки $(1000; 0,5)$ она совпадёт с исходной.
Нет, это неверно.

 Re: Поиск аппроксимирующей функции
Ув. физик!

Наборы данных то выложите. У меня есть программа, которая подбирает функции, - может найдет простую общую подходящую формулу. Также желательно указать критерий точности аппроксимации.

 Re: Поиск аппроксимирующей функции
Аватара пользователя
mserg
В первом посте, после картинке, в офтотопике, лежит ссылка на гугл-диск с данными.

 Re: Поиск аппроксимирующей функции
Да, точно.

Подобрать хорошую функцию не удалось. Также не удалось подобрать хорошее дифференциальное уравнение.
Однако, система подбора дифференциального уравнения вертится вокруг уравнения логистической функции.

Сделав обобщение, получаем дифференциальное уравнение:
$y'=-k(y-l)^a(h-y)^b$
Коэффициент $k$ задает резкость спада, $l$ и $h$ - минимум и максимум функции соответственно, параметры $a$ и $b$ дают асимметрию. Как я понимаю, $a$ и $b$ должны быть не меньше 1. Видимо $a \approx 1$, а $b \approx 1.5$.

Если задать параметры, решить уравнение, и посмотреть на внешний вид функции, то визуальное сходство с исходными данными есть.
Осталось подобрать по 5 параметров для каждой линии и узнать точность...

 Re: Поиск аппроксимирующей функции
Всем спасибо за ответы!

Как я понял, подобные задачи -- аппроксимация эмпирических данных в виде гладкой кривой -- решаются (когда не нужен физический закон) именно интерполяцией или аппроксимацией сплайнами, по крайней мере это частный способ.

Я использовал b-spline. Он использует только часть точек из набора данных.
Получилось не совсем гладко -- сплайн описывает погрешности в данных. Но это уже нюансы. Выбором типа сплайна и метода аппроксимации думаю можно добиться лучших результатов.

И насчет симметричности -- полная версия кривой такая:
Изображение

 Re: Поиск аппроксимирующей функции
Ниже приведена аппроксимация диффурами:

(Оффтоп)

Изображение
Изображение
Изображение

Немного задирает около нуля, но может быть исправлено с помощью дополнения критерия.

 Re: Поиск аппроксимирующей функции
Аватара пользователя
Пример аппроксимации кривой Безье из трех точек с ручной подгонкой.
Средняя точка должна лежать в точке перегиба. На глаз это сделать сложно.
Наверняка это не лучший результат, но автоматизировать подгонку я не умею. :(
Изображение

 [ Сообщений: 29 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group