2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Кубический сплайн
Сообщение07.07.2017, 18:15 
Аватара пользователя


05/06/08
474
Нашёл в сети следующую формулу для вычисления коэффицинтов сплайна:
Код:
double b[4] = { f[1] * 2,
      f[2] - f[0],
      f[0] * 2 - f[1] * 5 + f[2] * 4 - f[3],
      f[1] * 3 - f[0] - f[2] * 3 + f[3] };
   return 0.5*(b[0] + b[1] * x + b[2] * x*x + b[3] * x*x*x);

Метод не предполагает прогонки, и на сколько я понял, просто сохраняет непрерывность первой и второй производных функции в точке x = 1 ( f[2]).
На первый взгляд работает нормально, особенно на больших массивах и с малым шагом интерполяции, но вопрос не в этом.
Мне надо найти локльный минимум в окрестности некоторой точки другой дискртной функции. Обычно это делают с помощью квадратного сплайна и двух соседних точек. Мне это не подходит, так как в силу особенности алгоритма центр неравномерно (и не совсем предсказуемо) смещён вправо от точки. То есть как раз случай кубического сплайна относительно нуля.
Вопрос, что лучше:
1. Вычислить коэффициенты сплайна по вышепрведённой формуле, или вычислить их по классической формуле, приравняв нулю кубический сплайн в четырёх точках?

 !  Toucan:
MGM, замечание за неиспользование тега [cоde] (или [syntаx]) при вставке с сообщение программного кода. Поправил.

 Профиль  
                  
 
 Re: Кубический сплайн
Сообщение09.07.2017, 20:48 
Аватара пользователя


05/06/08
474
Если кому интересно, оба варианта оказались примерно одинаково плохи.
Заменил на полуквадрат. То есть вектор смещения от дискрета только положительный.
Кроме того, расчёт коэффициеннтов сплайна по приведённой формуле действительно качественный и без разрывов производной.
Легко программируем, так как не требуется прогонка. А лишь четыре значения в окресностности интервала интерполяции.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group