- •2.3. Интерполяция Постановка задачи
- •Теоретическая оценка погрешности интерполяции
- •Оценка погрешности интерполяции по результатам численного эксперимента
- •2.4. Интерполяция функций с помощью сплайна
- •1) Функция s3(X) непрерывна на отрезке [a,b] вместе со своими производными до второго порядка включительно;
- •Метод прогонки
1) Функция s3(X) непрерывна на отрезке [a,b] вместе со своими производными до второго порядка включительно;
б) S3(xi)=yi, i=0,1,...,n;
в) S"3(x0)=m0, S"3(xn)=mn.
Сформулированная выше задача имеет единственное решение.
Вторая производная S"3(x) непрерывна и, как видно из выражения (2.4.1), линейна на каждом отрезке [xi-1, xi], (i=1,...,n), поэтому представим ее в виде
, (2.4.3)
где hi = xi- xi-1, mi= S"3(xi). Эта кусочно-линейная функция частного вида непрерывна, поэтому в формуле (2.4.3) учтено n-1 условие непрерывности второй производной сплайна.
Проинтегрируем обе части равенства (2.4.3)
, (2.4.4)
где Ai и Bi - постоянные интегрирования.
Пусть в (2.4.4) x=xi и x=xi-1, тогда используя условия б), получим
, i=1,...,n.
Из этих уравнений находим Ai и Bi, и окончательно формула (2.4.4) принимает вид
. (2.4.5)
Функция (2.4.5) непрерывна, проходит через заданные точки, ее вторая производная имеет одинаковые односторонние пределы в узловых точках. Однако первая производная этой функции в общем случае имеет разрывы первого рода при x=xi .
Найдем условия, которым должны удовлетворять числа mi, чтобы первая производная была непрерывной, т.е. чтобы во всех внутренних узловых точках выполнялись равенства
.
Согласно (2.4.5)
. (2.4.6)
Из формулы (2.4.6) можно найти левый односторонний предел подстановкой x=xi
. (2.4.7)
На отрезке [xi, xi+1] (2.4.6) принимает вид
.
Отсюда подстановкой x=xi находим правый односторонний предел
. (2.4.8)
Приравнивая выражения (2.4.7) и (2.4.8) для i=1,...,n-1, получим n-1 уравнение
(2.4.9)
с n-1 неизвестными mi (i=1,...,n-1). Согласно условию в) m0 и mn заданы.
Система линейных алгебраических уравнений (2.4.9) имеет трехдиагональную матрицу с диагональным преобладанием. Такие матрицы являются неособенными. Поэтому неизвестные m1, m2,..., mn-1 находятся из системы (2.4.9) однозначно. Они могут быть найдены итерационными и прямыми методами решения систем линейных алгебраических уравнений, в том числе и методом прогонки. После определения mi функция S3(x) восстанавливается по формуле (2.4.5).
Метод прогонки
Пусть имеется система уравнений, записанная в матричном виде:
. (2.4.10)
В нашем случае согласно (2.4.9)
.
Решение системы ищется в виде
mi = i mi+1 + i, i=1,...,n-1, (2.4.11)
где i, i - прогоночные коэффициенты. Используя выражение для mi-1 из (2.4.11), подставим это неизвестное в i‑е уравнение системы
cimi-1 + aimi + bimi+1 = di.
Получаем
(ai +ci i-1)mi + bi mi+1 = di -cii-1, .
Сравнивая это соотношение с (2.4.11), выводим рекуррентные формулы для прогоночных коэффициентов i, i (прямая прогонка):
0=0=0, . (2.4.12)
Очевидно, что mn-1=n-1 (при bn-1=0). Все остальные неизвестные находим по формулам (2.4.11), используя выражения для прогоночных коэффициентов (2.4.12).
Для реализации алгоритма требуется выполнить 8(n-1) арифметических операций: 3(n-1) сложений, 3(n-1) умножений, 2(n-1) делений.
Таким образом, решение задачи сводится к определению значений вторых производных искомой функции из решения системы n-1 уравнений (2.4.10) методом прогонки с дальнейшим табулированием искомой функции по формуле (2.4.5).