Сплайн-интерполяция.
Назовем m-сплайнами полиномы невысокого порядка m, которыми аппроксимируется функция на интервалах и которые сшиваются в узлах интерполяции на основе требования непрерывности интерполирующей функции и ее первых производных.
Рассмотрим наиболее широко используемую на практике кубическую сплайн-интерполяцию. В ней искомая функция на интервале аппроксимируется полиномом третьей степени
(8.1)
Аналогичные полиномы можно записать для всех n интервалов, т. е. соотношение (8.1) справедливо для .
Условия сшивки сплайнов в узлах интерполяции:
, (8.2)
, (8.3)
. (8.4)
Кроме того, необходимо задать граничные условия в точках и . Это можно сделать несколькими способами. Здесь будем считать, что
,
т. е. будем рассматривать интерполяцию так называемыми естественными сплайнами.
Условие (8.2) приводит к уравнениям:
(8.5)
Получили уравнений относительно неизвестных , .
Вычислим производные:
Построим уравнения, к которым приводит условие непрерывности первой производной в узлах . При кубической сплайн-интерполяции выражения для первой производной на соседних интервалах интерполирования имеют вид
Требование непрерывности первой производной в узлах (условие 8.3) приводит к уравнениям
. (8.6)
В свою очередь, непрерывность второй производной в этих же узлах (условие (8.4)) позволяет записать
,
или
. (8.7)
Наконец, из граничных условий , получим, что
. (8.8)
Соотношения (8.5), (8.6), (8.7), (8.8) составляют систему линейных алгебраических уравнений, всего уравнений, относительно неизвестных.
Построим эффективный метод решения этой системы. Выразим из (8.7) :
, (8.9)
и подставим в (8.5):
.
Учтем, что :
.
Выразим из этого соотношения :
. (8.10)
Подставим теперь в формулу (8.6):
Выполним очевидные преобразования и запишем результирующую систему в виде:
(8.11)
Получили систему линейных алгебраических уравнений относительно неизвестных . Однако, если учесть, что из граничных условий
,
то приходим к системе линейных алгебраических уравнений с треугольной симметрической матрицей
Обратите внимание: матрица системы обладает диагональным преобладанием! Эту систему можно эффективно решать методом -факторизации.
Вычислив коэффициенты , из соотношений (8.9) находим
.
Из условия (8.8) определяем :
Коэффициенты рассчитаем из (8.10):
так как . Коэффициенты , известны из (8.5). В результате для всех кубических сплайнов определены коэффициенты .
Расчет значений функции методом сплайн-интерполяции осуществляется следующим образом:
1. По описанной выше методике вычисляются коэффициенты кубических сплайнов;
2. Находится интервал , которому принадлежит данное . Значение функции на этом интервале вычисляется из кубического сплайна
с параметрами для интервала .
Дата добавления: 2015-11-24; просмотров: 849;