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

Лекция 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)

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

Соседние файлы в папке Лекции по вычмату преподавателя Друка