Хелпикс

Главная

Контакты

Случайная статья





сплайновая интерполяция [39].



14.3. сплайновая интерполяция [39].

       Сплайн - кусочный многочлен степени K с непрерывной производной степени K - 1 в точках соединения сегментов.

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

Рис. 14.3.1. Сплайновая интерполяция и интерполяция по Лагранжу.

       Сплайновая аппроксимация может применяться для достаточно быстро изменяющихся функций, не имеющих разрывов функции и ее производных. Основной недостаток сплайнов – отсутствие единого аналитического выражения для описания функции. Заметим также, что результаты экстраполяции функций, как это можно видеть на рис. 14.3.1, существенно зависят от метода аппроксимации, и, соответственно, к их достоверности нужно подходить достаточно осторожно.

       Сплайновая интерполяция обычно применяется в составе математических пакетов по определенной технологии. Так, в системе Mathcad при выполнении сплайновой интерполяции по узловым точкам функции (векторам X и Y) сначала вычисляется вектор (обозначим его индексом S) вторых производных входной функции y(x) по одной из программ:

S:= cspline(X,Y) – возвращает вектор S вторых производных при приближении в опорных точках к кубическому полиному;

S:= pspline(X,Y) – возвращает вектор S при приближении в опорных точках к параболической кривой;

S:= lspline(X,Y) – возвращает вектор S при приближении в опорных точках к прямой.

По значениям вектора S функцией interp(S,X,Y,x) вычисляются значения аппроксимирующей функции по аргументам х.

       На рис. 14.3.2 приведен пример кубической сплайновой интерполяции двумерных цифровых данных с одновременным повышением узловой сетки цифровых данных в 4 раза.

Рис. 14.3.2. Сплайн - интерполяция двумерных данных.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.