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

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

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

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

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

интерполяция

локальная

глобальная

линейная

параболическая

кубическая

парабола

полином

степени (N-1)

кубический

сплайн

Рис. 1.5.

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

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

Если функция измеряется или вычисляется приближенно и погрешности существенны, то не имеет смысла проводить интерполяцию и переходят к аппроксимации. В латыни слово ap-proximo означает "почти близкий". При аппроксимации кривая проводится вблизи заданных точек в соответствии с некоторым критерием близости, например, критерием наименьших квадратов или минимаксным критерием. Различия интерполяции и аппроксимации иллюстрирует рис.1.6.

интерполяция

аппроксимация

интерполяция или

аппроксимация

сглаживание

Рис.1.6.

Если имеем непрерывную или дискретную функцию, то обычно используют 5 видов преобразований функций:

- непрерывная в дискретную (дискретизация),

- дискретная в непрерывную (интерполяция),

- дискретная в непрерывную (аппроксимация),

- непрерывная в непрерывную (интерполяция),

- дискретная в дискретную (сглаживание).

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

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

Кубические сплайны для интерполяции предложил использовать Шенберг в 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)

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

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