Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сплайны.doc
Скачиваний:
6
Добавлен:
03.12.2018
Размер:
650.24 Кб
Скачать

1.2. Специальная форма записи сплайна.

Рассмотрим отрезок . Введем следующие обозначения переменных:

(7)

Здесь - длина отрезка ,

, - вспомогательные переменные,

x – промежуточная точка на отрезке .

Когда x пробегает все значения на интервале , переменная изменяется от 0 до 1, а изменяется от 1 до 0.

Пусть кубический многочлен на отрезке имеет вид:

(8)

Номер сплайна совпадает с индексом конечной точки отрезка . Для записи сплайна на соседнем i-ом участке достаточно в (8) уменьшить все индексы на единицу:

(3.9)

Переменные и определяются применительно к конкретному отрезку интерполяции.

Найдем значение сплайна на концах отрезка . Точка является начальной для отрезка , поэтому =0, =1 и в соответствии с (3.8): .

На конце отрезка =1, =0 и .

Для интервала точка является конечной, поэтому =1, =0 и из формулы (9) получаем: . Таким образом, выполняется условие непрерывности функции S(x) в узлах стыковки кубических многочленов независимо от выбора чисел i .

Для определения коэффициентов i , i=0,…n продифференцируем (8) дважды как сложную функцию от x. Тогда

,

(10)

где

(11)

Уменьшая в (10) индекс i на единицу, получим:

(12)

Определим вторые производные сплайна и :

(13)

(14)

Для многочлена точка является началом отрезка интерполяции и =0, =1, поэтому

(15)

Для сплайна точка является концом отрезка интерполяции и =1, =0. Отсюда

(16)

Из (15) и (16) следует, что на отрезке [a,b]сплайн-функция, «склеенная» из кусков многочленов 3-го порядка, имеет непрерывную производную 2-го порядка.

Чтобы получить непрерывность первой производной функции S(x), потребуем во внутренних узлах интерполяции выполнения условия:

Определим (10) и (12) в точке :

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

(17)

Для естественного кубического сплайна , следовательно, система уравнений будет иметь вид:

(18)

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

Если же требуется найти S(x) с краевыми условиями (3.5), то это приведет к дополнительным условиям:

и система уравнений (17) будет иметь вид:

(19)

Для краевых условий (6) получим:

(20)

и система уравнений (17) будет иметь вид:

(21)

Пример.

Исходные данные:

i

0

1

2

3

1

2

2.5

3

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

  1. Рассчитаем значение функции в узловых точках. Для этого подставим в заданную функцию значения из таблицы.

  1. Для разных краевых условий (4), (5), (6) найдем коэффициенты кубических сплайнов.

    1. Рассмотрим первые краевые условия.

В нашем случае n=3, , , . Чтобы найти используем систему уравнений (3.18):

Вычислим и , используя формулы (7) и (11):

Подставим полученные значения в систему уравнений:

.

Решение системы:

С учетом первых краевых условий коэффициенты сплайна:

    1. Рассмотрим определение коэффициентов сплайна с учетом краевых условий (3.5):

Для n=3 система уравнений (19) примет вид:

(21)

Найдем производную функции :

Вычислим и :

Подставим в систему уравнений (21) значения и :

Решение системы уравнений:

    1. Рассмотрим третьи краевые условия (6).

Используя формулу (20) определим 0 и 3:

Найдем вторую производную функции :

Вычислим и :

и

Система уравнений (21)для определения , :

С учетом конкретных значений:

и вектор коэффициентов:

  1. Рассчитаем значения кубического сплайна S(x) в серединах отрезков интерполяции.

Середины отрезков:

Для вычисления значения кубического сплайна в серединах отрезков интерполяции воспользуемся формулами (7) и (9).

3.1.

Найдем и :

В формулу (3.9) подставляем коэффициенты , для краевых условий (4), (5), (6):

3.2.

Найдем и :

В формулу (9) подставляем коэффициенты , для краевых условий (4), (5), (6):

3.3.

Найдем и :

В формулу (9) подставляем коэффициенты , для краевых условий (4), (5), (6):

Составим таблицу:

(1 кр.усл.)

(2 кр.усл.)

(3 кр.усл.)

f(x)

2.044

2.026

2.026

3.389

3.364

3.362

3.378

3.476

3.479