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 |
Заменить
функцию
интерполяционным кубическим сплайном,
значения которого в заданных узловых
точках (см. табл.) совпадают со значениями
функции в этих же точках. Рассмотреть
разные краевые условия.
-
Рассчитаем значение функции в узловых точках. Для этого подставим в заданную функцию значения из таблицы.
![]()
![]()
![]()
![]()
![]()
-
Для разных краевых условий (4), (5), (6) найдем коэффициенты кубических сплайнов.
-
Рассмотрим первые краевые условия.
-
|
|
|
В
нашем случае n=3,
,
,
.
Чтобы найти
используем систему уравнений (3.18):
|
|
|
Вычислим
и
,
используя формулы (7) и (11):

Подставим полученные значения в систему уравнений:
.
Решение системы:
![]()
С учетом первых краевых условий коэффициенты сплайна:

-
Рассмотрим определение коэффициентов сплайна с учетом краевых условий (3.5):
|
|
|
Для n=3 система уравнений (19) примет вид:
|
|
(21) |
Найдем
производную функции
:
![]()
Вычислим
и
:
![]()
Подставим
в систему уравнений (21) значения
и
:
|
|
|
Решение системы уравнений:
|
|
|
-
Рассмотрим третьи краевые условия (6).
|
|
|
Используя формулу (20) определим 0 и 3:
|
|
|
Найдем
вторую производную функции
:
|
|
|
Вычислим
и
:
|
|
|
и
|
|
|
Система
уравнений (21)для определения
,
:
|
|
|
С учетом конкретных значений:
|
|
|
и вектор коэффициентов:

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

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

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

![]()
3.2.
![]()
Найдем
и
:

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

3.3.
![]()
Найдем
и
:

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

Составим таблицу:
|
|
|
|
|
f(x) |
|
|
2.044 |
2.026 |
2.026 |
|
|
|
3.389 |
3.364 |
3.362 |
|
|
|
3.378 |
3.476 |
3.479 |
|











