Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Сглаживающий сплайн |
Автор: Toxa 23.11.2004, 08:24 |
Проблема: нужно апроксимировать эксперементальные данные несколькими сглаживающими сплайнами. Методом наименьших квадратов нахожу коэфициенты каждого из кусков, система имеет единственное решение. Решается, и все вроде ОК.. Только в местах стыков сплайнов само-собой разрыв производной... про вторую и не говорю даже. ![]() и я никак не могу понять, куда там можно впихнуть граничные условия в МНК. Мне нужна неразрывная первая и вторая производная т.к. исходные данные нужно один ра дифферинцировать. ![]() Помогите пожалуйста. |
Автор: maxim1000 23.11.2004, 11:53 |
самый простой способ: фильтр, для простоты первого порядка ![]() пусть xn - точки, которые вводит пользователь yn - точки, которые отображаются тогда просто сделаем yn=alpha*y(n-1)+(1-alpha)*xn для манипулирования гладкостью можно изменять коэффициент alpha если плохо будет получаться, можно увеличить порядок фильтра... (честно говоря, сам не пробовал, может и не очень хорошо выглядеть ![]() |
Автор: podval 23.11.2004, 16:53 |
А ты сплайны нужной степени гладкости берешь? |
Автор: podval 23.11.2004, 17:13 |
Попробуй к сумме квадратов отклонений аппроксимированных значений от экспериментальных добавить сумму квадратов второй производной сплайна в исследуемых точках. |
Автор: MBo 24.11.2004, 07:08 |
реализация на фортране: http://www.srcc.msu.su/num_anal/lib_na/cat/i/is01r.htm |
Автор: Excalibur921 22.10.2014, 23:26 |
Похоже нужно провести b-spline. |