8. Интерполяция функций Кубическая сплайн-интерполяция
В последние годы интенсивно развивается новый раздел современной вычислительной математики - теория сплайнов. Сплайны позволяют эффективно решать задачи обработки экспериментальных зависимостей между параметрами, имеющих достаточно сложную структуру.
Рассмотренные выше методы локальной интерполяции, по существу, является простейшим сплайном первой степени (для линейной интерполяции) и второй степени (для квадратичной интерполяции).
Наиболее широкое практическое применение, в силу их простоты, нашли кубические сплайны. Основные идеи теории кубических сплайнов сформировались в результате попыток математически описать гибкие рейки из упругого материала (механические сплайны), которыми издавна пользовались чертежники в тех случаях, когда возникала необходимость проведения через заданные точки достаточно гладкой кривой. Известно, что рейка из упругого материала, закрепленная в некоторых точках и находящаяся в положении равновесия, принимает форму, при которой ее энергия является минимальной (рис. 8.1).
Это фундаментальное свойство позволяет эффективно использовать сплайны при решении практических задач обработки экспериментальной информации.
В общем случае для функции y=f(x) требуется найти приближение таким образом, чтобы в точках , а в остальных точках отрезка [a; b] значения функции f(x) и были близкими между собой.
При малом числе экспериментальных точек (например, 6-8) для решения задачи интерполяции можно использовать один из методов построения интерполяционных полиномов.
Рис. 8.1 | Однако при большом числе узлов интерполяционные полиномы становятся практически непригодными. Это связано с тем, что степень интерполяционного полинома лишь на единицу меньше числа экспериментальных значений функций. Можно, конечно, отрезок, на котором определена функция, разбить на участки, содержащие малое число экспериментальных точек, и для каждого из них построить интерполяционные полиномы. Однако в этом случае аппроксимирующая функция будет иметь точки, где производная не является непрерывной, т. е. график функции будет содержать точки "излома". |
Кубические сплайны лишены этого недостатка.
Исследования теории балок показали, что гибкая тонкая балка между двумя узлами достаточно хорошо описывается кубическим полиномом, и поскольку она не разрушается, то аппроксимирующая функция должна быть, по меньшей мере, непрерывно дифференцируемой. Это означает, что функции , , должны быть непрерывными на отрезке [a; b].
Кубическим интерполяционным сплайном, соответствующим данной функции f(x) и данным узлам xi называется функция S(x), удовлетворяющая следующим условиям:
1) на каждом сегменте i=1, 2, …, N функция S(x) является полиномом третьей степени,
2) функция S(x), а также ее первая и вторая производные непрерывны на отрезке [a; b].
3) S(xi)=f(xi), i=1, 2, …, N.
На каждом из отрезков , i=1, 2, …, N будем искать функцию S(x)=S(xi) в виде полинома третьей степени:
, (8.1)
где ai , bi, ci, di - коэффициенты, подлежащие определению на всех n элементарных отрезках. Чтобы система алгебраических уравнений имела решение, нужно, чтобы число уравнений точно равнялось числу неизвестных. Поэтому мы должны получить 4n уравнения.
Первые 2n уравнения мы получим из условия, что график функции S(x) должен проходить через заданные точки, т. е. Si(xi-1)=yi-1, Si(xi)=yi. Эти условия можно записать в виде:
Si(xi-1) = a i= yi-1,, (8.2)
, (8.3)
где , i=1, 2, …, N.
Следующие 2n-2 уравнения вытекают из условия непрерывности первых и вторых производных в узлах интерполяции, т.е. условия гладкости кривой во всех точках.
, i=1, 2, …, n-1,
, i=1, 2, …, n-1,
,
.
Приравнивая в каждом внутреннем узле x=xi значения этих производных, вычисленные в левом и правом от узла интервалах, получаем (с учетом ):
, i=1, 2, …, n-1,
, (8.4)
,
если x=xi,
, i=1, 2, …, n-1. (8.5)
На данном этапе мы имеем 4n неизвестных и 4n-2 уравнений. Следовательно, необходимо найти еще два уравнения.
При свободном закреплении концов можно приравнять к нулю кривизну линии в этих точках. Из условий нулевой кривизны на концах следуют равенства нулю вторых производных в этих точках:
и ,
ci =0 и (8.6)
Уравнения (8.2) - (8.6) составляют систему линейных алгебраических уравнений для определения 4n коэффициентов: ai , bi, ci, di, i=1, 2, …, n.
Эту систему можно привести к более удобному виду. Из условия (8.2) сразу можно найти все коэффициенты ai.
Далее из (8.5) и (8.6) получим:
i=1, 2, …, n-1 (8.7)
Подставляя (8.2) и (8.6) в (8.3), получим:
, i=1, 2, …, n-1
(8.8)
Учитывая выражения (8.7) и (8.8), исключаем из уравнения (8.5) коэффициенты bi и di. Окончательно получим следующую систему уравнений только для коэффициентов ci:
ci =0 и cn+1 =0
, (8.9)
i=1, 2, …, n.
По найденным коэффициентам ci легко вычислить di., bi. Матрица этой системы трехдиагональная, т. е. ненулевые элементы находятся лишь на главной и двух соседних с ней диагоналях, расположенных сверху и снизу.
Yandex.RTB R-A-252273-3
- Введение
- Основы работы с MathCad
- 1. Введение в численные методы. Теория погрешностей и машинная арифметика Понятие о вычислительном эксперименте
- Классификация погрешностей
- Элементы теории погрешностей
- 2. Теория погрешностей и машинная арифметика Погрешности арифметических действий Погрешность функции
- Погрешности арифметических действий
- 3. Численное решение нелинейных уравнений
- Решение нелинейных уравнений
- 4. Численное решение систем уравнений Решение систем линейных уравнений
- Решение матричных уравнений
- Решение систем нелинейных уравнений
- 5. Решение систем уравнений и систем уравнений MathCad Решение одного уравнения
- Нахождение корней полинома
- Решение систем уравнений
- Приближенные решения
- Символьное решение уравнений
- 6. Интерполяция функций
- Глобальная интерполяция
- 7. Интерполяция функций Интерполяционные формулы Ньютона
- Локальная интерполяция
- 8. Интерполяция функций Кубическая сплайн-интерполяция
- Интерполяция средствами MathCad
- 9. Математическая обработка экспериментальных данных Элементы теории ошибок
- Элементы теории ошибок Случайные ошибки
- Аппроксимация в виде линейной комбинации функций
- Полиномиальная аппроксимация в Mathcad
- С помощью функции regress
- 11. Численное интегрирование и дифференцирование Численное интегрирование
- Методы прямоугольников
- Метод трапеций
- Метод Симпсона
- Метод Монте - Карло
- Численное дифференцирование
- 12. Решение обыкновенных дифференциальных уравнений
- Одношаговые методы решения задачи Коши
- Общая характеристика одношаговых методов
- 13. Решение дифференциальных уравнений в частных производных Уравнения первого порядка
- Типы дифференциальных уравнений в частных производных
- Уравнения первого порядка
- Лабораторная работа
- Варианты задания 1
- Варианты задания 2
- Варианты задания 3
- Локальная интерполяция
- Предсказание
- Варианты заданий 4
- Полиномиальная регрессия
- Обобщенная регрессия
- Варианты задания 5
- Численное интегрирование и дифференцирование
- Варианты задания 6