Скачиваний:
50
Добавлен:
20.05.2014
Размер:
521.73 Кб
Скачать

- 17 -

Лекция 2. Интерполяция сплайнами и аппроксимация.

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

2.1. Кубический сплайн.

Кубические сплайны для интерполяции предложил использовать Шенберг в 1949 г. Слово "сплайн" происходит от названия длинных тонких металлических реек, которые с давних времен немецкие чертежники крепили гвоздиками на кульмане вместо лекал для проведения сложных кривых.

Кубический сплайн - это функция, которая:

- проходит через все заданные точек,;

- на каждом отрезке между соседними точками является кубическим полиномом;

- непрерывна вместе со своими первой и второй производными во всех точках.

Заметим, что, благодаря третьему условию, кубическая парабола через две точки проводится однозначно.

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

,

(2.1)

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

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

, ,,

(2.2)

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

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

Постановка задачи: даны точек,. Определить все коэффициенты сплайна,,, т.е. всегокоэффициентов,, т.к.отрезок.

Рассмотрим два любых соседних отрезка и с номерами и. Точка для них является общей, см. рис. 2.1.

Рис. 2.1. Кубический сплайн.

Для правого отрезка кубический сплайн имеет вид (2.1), а для левого, т.е. при

,

(2.3)

.

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

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

(2.4)

(здесь это номера участков).

Ещё одно уравнение получаем, записывая для последнего узла первое из условий

(2.5)

В результате получаем уравнений. Эти уравнения содержатнеизвестных, т.к. для каждого отрезка между узлами имеем 3 неизвестных. Очевидно, что для однозначного определения коэффициентов нужны ещё два уравнения.

Эти дополнительные два уравнения могут быть произвольными, но обычно полагают, что функция вблизи её концов является линейной

и ,

(2.6)

откуда ,=0

В результате введения двух дополнительных условий получается система уравнений снеизвестными коэффициентами,,. Эти уравнения можно преобразовать, выразив коэффициентыичерез. Введем формально. Тогда, имеем из последнего и первого уравнений (2.4) и уравнения (2.5):

,

, .

(2.7)

Подставляя эти выражения во второе уравнение (2.4), получим СЛАУ для коэффициентов :

,

(2.8)

, при ,.

В результате система из линейных уравнений для неизвестных коэффициентов. Матрица системы (2.8) состоит, в основном, из нулей и имеет только три ненулевых диагонали, а поэтому для её решения применяют не метод Гаусса, а специальный эффективный метод прогонки, резко сокращающий количество операций.

Часто систему уравнений (2.8) записывают для вторых производных в узлах, обозначая их . Тогда она принимает вид (Бахвалов, Численные методы, М., 2002):

(2.9)

, причем и формально введено.

Соседние файлы в папке Лекции