
- •Введение
- •1. Метод прогонки
- •1.1. Метод прогонки для трехдиагональных матриц
- •1.2. Метод прогонки для пятидиагональных матриц
- •2. Сплайн – интерполяция
- •2.1. Интерполяционный линейный сплайн
- •Пример программы, которая по интерполяционной таблице строит интерполяционный линейный сплайн, приводится в примере выполнения задания 1 расчетно-графического задания 1.
- •Нахождение коэффициентов интерполяционного линейного сплайна
- •Нахождение значений интерполяционного линейного сплайна
- •2.2. Интерполяционный параболический сплайн
- •Нахождение коэффициентов интерполяционного параболического сплайна
- •Нахождение значений интерполяционного параболического сплайна и его производной
- •Результат работы программы
- •2.3. Интерполяционный кубический сплайн
- •Нахождение коэффициентов естественного интерполяционного кубического сплайна
- •Нахождение значений естественного интерполяционного кубического сплайна и его производных
- •2.5. Построение интерполяционных сплайновых кривых при помощи сплайн - функций
- •2.6. Примеры решения задач
- •3. Сглаживание кубическими сплайнами
- •3.1. Постановка задачи сглаживания
- •Определение естественного сглаживающего кубического сплайна
- •3.2. Построение естественного сглаживающего кубического сплайна
- •Нахождение значений естественного сглаживающего кубического сплайна и его производных
- •4. Аппроксимация
Нахождение коэффициентов естественного интерполяционного кубического сплайна
Из определения естественного
интерполяционного кубического сплайна
мы получаем систему линейных уравнений
с невырожденной матрицей, число уравнений
равно
.
Если мы будем решать эту систему линейных
уравнений методом Гаусса с частичным
выбором ведущего элемента, то нам
потребуется
арифметических действий и
памяти. Но известен устойчивый алгоритм
нахождения коэффициентов сплайна, для
реализации которого требуется
арифметических действий и
памяти. Опишем этот алгоритм.
-
По явным формулам находятся коэффициенты
,
.
-
Коэффициенты
находятся из решения системы линейных уравнений размерности
с невырожденной трехдиагональной матрицей методом прогонки. Запишем эту систему линейных уравнений для случая равномерного шага
Условие на применение
метода прогонки для решения этой системы
уравнений следующее:
.
Это условие выполнено, если все узлы
сетки различны.
-
Зная
и
, находим коэффициенты
и
по явным формулам:
,
,
.
Отметим, что для удобства записи
системы линейных уравнений, определен
дополнительный коэффициент
,
равный нулю. Уравнения
и
вытекают из равенства нулю второй
производной естественного интерполяционного
кубического сплайна на концах отрезка
.
Теорема (о сходимости).
Пусть функция
- непрерывная функция на отрезке
,
тогда интерполяционный кубический
сплайн
сходится к
при
,
стремящемся к нулю, для любой точки
из отрезка
,
то есть
,
где
,
.
Теорема (оценка погрешности).
Пусть
.
Тогда для любой точки
справедливы следующие оценки погрешности:
,
,
,
где
,
а положительные константы
,
,
и
не зависят от
.
Таким образом, при уменьшении
равномерного шага
в два раза, погрешность интерполяции
кубическим сплайном уменьшается в 16
раз.
Производная интерполяционного кубического сплайна – это непрерывно дифференцируемая кусочно-параболическая функция, то есть параболический сплайн:
,
,
.
Отметим, что производная интерполяционного кубического сплайна не является интерполяционным сплайном для производной функции.
Нахождение значений естественного интерполяционного кубического сплайна и его производных
Как и для параболического
сплайна, сначала находим номер
отрезка, содержащего точку
,
по формуле
.
Зная все коэффициенты
,
,
,
и номер отрезка
,
находим значение естественного
интерполяционного кубического сплайна
в точке
,
принадлежащей отрезку
,
.
Для
вычисления значений сплайна и его
производных в точке
,
введем дополнительные коэффициенты:
,
,
.
Ранее уже был определен коэффициент
.
Значения первой и второй производных естественного интерполяционного кубического сплайна вычисляются по формулам
,
.
Сложность
вычислительного алгоритма
построения интерполяционного кубического
сплайна та же, что и у параболического
и линейного сплайнов. Число арифметических
действий, необходимых для построения
интерполяционного кубического сплайна,
пропорционально числу отрезков (),
объем памяти также пропорционален числу
отрезков (
).
Так как интерполяционный кубический сплайн хорошо приближает гладкие функции (теорема о сходимости, оценка погрешности) и имеет минимальную сложность, то на практике для гладких функций при решении задач интерполяции и численного дифференцирования используется именно интерполяционный кубический сплайн.
2.4. B-сплайны
B-сплайны
(базовые, фундаментальные, базисные
сплайны) –
это функции, определенные на отрезке
и образующие некоторый базис, который
позволяет представить любой сплайн в
виде линейной комбинации соответствующих
B-сплайнов. Так же, как произвольный
вектор
,
принадлежащий плоскости
,
можно единственным образом представить
в виде линейной комбинации базисных
векторов
и
,
а именно
,
так и произвольный сплайн можно
единственным образом представить в
виде линейной комбинации соответствующих
базисных сплайнов.
B-сплайном нулевой степени,
построенным на отрезке
по сетке
,
называется функция вида:
B-сплайн
степени
может быть отличен от нуля только на
отрезках
,
примыкающих друг к другу. Например,
кубический B-сплайн
отличен от нуля на отрезке
,
а линейный B – сплайн отличен от нуля
на отрезке
(рис. 2.2).
Любой линейный сплайн на отрезке
можно представить в виде линейной
комбинации B-сплайнов первой степени:
.
Любой кубический
сплайн на отрезке
также может быть единственным образом
представлен в виде линейной комбинации
кубических B-сплайнов. Такой подход
позволяет уменьшить объем памяти,
необходимый для построения сплайна.