Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
220
Добавлен:
28.03.2015
Размер:
4.37 Mб
Скачать

Сплайны.

В настоящее время широкое распространение для интерполяции получило использование кубических

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

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

(12).

Для определения коэффициентов на всехэлементар­ных отрезках необходимо получитьуравнений. Часть из них вытекает из условий прохождения графика функциичерез заданные точки, т.е.

.

Эти условия можно записать в виде

(13)

(14).

Эта система содержит уравнений. Для получения недостающих урав­нений зададим условия непрерывности первых и вторых производных в узлах интерполяции, т.е. условия гладкости кривой во всех точках.

Вычислим производные многочлена (12):

Приравнивая в каждом внутреннем узле значения этих производных, вычисленные в левом и правом от узла интервалах, получаемуравнений.

(15)

(16)

Недостающие два уравнения получаются из условий закрепления кон­цом сплайна.

В частности при свободном закреплении концов можно приравнять нулю кривизну линии в точках закрепления. Такая функция назы­вается свободным кубическим сплайном, обладает свойством минимальной кривизны, т.е. она самая гладкая среди всех интерполяционных функций данного класса. Из условий нулевой кривизны на концах следуют равенства нулю вторых производных в этих точках.

,(17).

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

Однако с целью экономии памяти ЭВМ и машинного времени эту систему можно привести к более удобному виду. Из условия (13) сразу можно найти все коэффициенты . Далее, из (16) и (17) получим

,,. (18)

Подставим эти соотношения, а также значения в (14) и най­дем отсюда коэффициенты

,,. (19)

Учитывая выражения (18) и (19), исключаем из уравнения (15) ко­эффициенты и. Окончательно получим следующую систему урав­нений только для коэффициентов:

,,,(20).

Матрица этой системы трехдиагональная, т.е. ненулевые элементы находятся лишь на главной и двух соседних с ней диагоналях, распо­ложенных сверху и снизу. Для ее решения целесообразно использовать метод прогонки. По найденным из системы (20) коэффициентам легко вычислить коэффициентыи.

Многочлен Лагранжа.

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

Запишем искомый многочлен в виде

(21).

Из условий равенства значений этого многочлена в узлах соответствующим заданным табличным значениямполучим следующую систему уравнений для нахождения коэффициентов:

(22).

Эта система имеет единственное решение, если среди узлов интерполяции нет совпадающих, т.е. если при. Решив эту систему, найдем коэффициенты интерполяционного многочлена (21). Такой путь построения интерполяционного многочлена требует значительного объема вычислений, особенно при большом числе узлов. Существуют более простые алгоритмы построения интерполяционного многочлена.

Будем искать интерполяционный многочлен в виде линейной комби­нации многочленов степени :

(23).

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

(24).

Действительно, при. При,числитель (24) обращается в нуль. По аналогии с (24) получим

(25).

Подставляя в (23) выражения (24) и (25), находим

(26).

Эта формула называется интерполяционным многочленом Лагранжа.

Из формулы (26) можно получить выражения для линейной и квадратичнойинтерполяции:

,;

,.

Многочлен Ньютона.

До сих пор не делалось никаких предполо­жений о законе распределения узлов интерполяции. Теперь рассмотрим случай равноотстоящих значений аргумента, т.е.

.

Величина , называется шагом.

Введем также понятие конечных разностей. Пусть известны значения функции в узлах :. Составим разности значений функции:

.

Эти значения называются первыми разностями (или разностями первого порядки) функции.

Можно составить вторые разности функции:

.

Аналогично составляются разности порядка :.

Конечные разности можно выразить непосредственно через значения функции. Например,

.

Аналогично для любого можно написать

. (27)

Эту формулу можно записать и для значения разности в узле :

.

Используя конечные разности, можно определить :

(28).

Перейдем к построению интерполяционного многочлена Ньютона. Этот многочлен будем искать в следующем виде:

(29).

График многочлена должен проходить через заданные узлы, т.е.

.

Эти условия используем для нахождения коэффициентов многочлена:

.

Найдем отсюда коэффициенты :

.

Аналогично можно найти и другие коэффициенты. Общая формула имеет вид

.

Подставляя эти выражения в формулу (29), получаем следующий вид интерполяционного многочлена Ньютона:

(30).

Конечные разности могут быть вычислены по формуле (27).

Формулу (30) часто записывают в другом виде. Для этого вводится переменная ; тогда.

С учетом этих соотношений формулу (30) можно переписать в виде:

(31).

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

,(32).

Полученное выражение называется первым интерполяционным многочленом Ньютона для интерполирования вперед.

Интерполяционную формулу (32) обычно используют для вычисления значений функции в точках левой половины рассматриваемого отрезка. Это объясняется следующим.

Разности вычисляются через значения функции, причем; поэтому при больших значенияхмы не можем вычислить разности высших порядков.

Например, при в (32) можно учесть только.

Для правой половины рассматриваемого отрезка разности лучше вычислять справа налево. В этом случае , где, и интерполяционный многочлен Ньютона можно получить в виде(33).

Полученная формула называется вторым интерполяционным многочленом Ньютона для интерполирования назад.

Соседние файлы в папке Лекции по Вычислительной математики