- •Содержание
- •3. Интерполялия, экстрополяция, аппроксимация, сглаживание 5
- •3. Интерполялия, экстрополяция, аппроксимация, сглаживание
- •3.1. Введение
- •3.2. Интерполяция
- •3.2.1. Полиномиальная интерполяция
- •Аппроксимационная теорема Вейерштрасса.
- •3.2.2. Вычисление значений многочлена. Схема Горнера
- •3.2.3. Линейная интерполяция
- •3.2.4. Квадратичная интерполяция
- •3.2.5. Построение других базисных функций
- •3.2.6. Многочлены Тейлора
- •3.2.7. Лагранжева интерполяция
- •I, j, n : Integer;
- •3.2.8. Ошибки полиномиальной интерполяции
- •3.2.9. Кусочно-линейная интерполяция
- •Var X,y : Array[0..N] of Real;
- •I,j : Integer;
- •Var f:Real;
- •3.2.10. Кусочно-кубическая интерполяция
- •3.2.11. Эрмитов кубический интерполянт
- •3.2.12. Кубические сплайны
- •Var r, s, l : Vect;
- •Var l, I, j : Integer;
- •1 : Begin
- •0 : Begin
- •Var XX:RealType;
- •3.2.13. Кривые Безье. Сплайны
- •3.2.14. Итерационный способ вычисления интерполяционного полинома (способ Эйткена)
- •3.2.15. Интерполяционный многочлен Ньютона
- •3.2.16. Интерполяционный многочлен Гаусса
- •3.2.17. Интерполяционный многочлен Стирлинга
- •3.2.18. Интерполяционный многочлен Эверетта
- •3.3. Аппроксимация данных методом наименьших квадратов
- •3.3.1. Аппроксимация данных методом наименьших квадратов
- •3.3.2. Аппроксимация данных с другими нормами
- •3.3.3. Аппроксимация данных многочленом заданной степени
- •Var X,y:array[1..Nmax] of real;
- •I,n:integer;
- •Литература
- •Простейшие способы интерполяции
- •Интерполяционные полиномы
- •Сплайн-интерполяция
- •Тригонометрическая интерполяция
- •Неклассические методы интерполяции
- •Реконструкция функций
- •Всюду гладкая интерполяция
3.2.10. Кусочно-кубическая интерполяция
Кусочно-линейная интерполяция решает одну проблему, возникающую при полиномиальной интерполяции, – она обладает сходимостью, но порождает при этом другую проблему – недостаток гладкости: график имеет изломы. Поэтому для улучшения гладкости используют кусочно-полиномиальные функции более высокого порядка.
Кусочно-кубическим интерполянтом является кусочно-кубическая функция, которая интерполирует данные.
Требования, чтобы кусочно-кубическая функция проходила через заданные точки, недостаточно для единственности (возможны несколько кусочно-кубических интерполянтов), но если наложить условие некоторой гладкости, то можно получить единственный интерполянт.
Построить более гладкий интерполянт – это значит построить интерполянт с большим числом непрерывных на производных.
Эрмитовым кубическим интерполянтом называется кусочно-кубический интерполянт с непрерывной производной.
Кубическим сплайном называется кусочно-кубический интерполянт с двумя непрерывными производными.
Оба типа интерполянтов важны для приложений.
Сегодня известны и применяются сплайны как низких, так и более высоких степеней. Однако наиболее популярны по-прежнему кубические сплайны.
Поскольку третья производная кубической функции постоянна, то любая кусочно-кубическая функция с тремя непрерывными производными в каждом узле должны быть в точности одной и той же кубической функцией на всех интервалах, т. е. на всех интервалах используется один и тот же кубический сплайн, а не разные.
Один полином третьей степени нельзя провести более чем через четыре точки, поэтому для обеспечения гладкости интерполирующей функции, требуют непрерывности в узлах не более двух производных. Требование непрерывности третьей производной, вообще говоря, в задачах интерполяции предъявлять нельзя
3.2.11. Эрмитов кубический интерполянт
На каждом интервале функция является кубической и задаётся четырьмя коэффициентами . Для программы, основанной на таком представлении, потребуется массив для хранения и четыре массива и для коэффициентов кубической функции на каждом интервале. Это называется кусочно-кубическим представлением.
Используем другое, более наглядное представление.
Определим базисных функций и , . Пусть каждая из них является кусочно-кубической с непрерывной на производной. Тогда и любая их линейная комбинация обладает теми же свойствами. Определение этих функций должно гарантировать, что
.
В этом случае функция
является эрмитовым кубическим интерполянтом при любом выборе .
Потребуем ещё, чтобы
.
Тогда
.
Все эрмитовы кубические интерполянты представляют собой кусочно-кубические функции, интерполирующие по заданным точкам и имеющие по одной непрерывной производной. Значения производных в узлах интерполяции задаются числами . Такая форма представления особенно полезна, если, кроме самих значений в точках , известны ещё и величины углов наклона касательных к интерполируемой функции. В этом случае в качестве естественно брать заданные угловые коэффициенты.
Эрмитов кубический интерполянт не является единственным. Существует параметрическое семейство кусочно-кубических функций, которые интерполируют данных значений и имеют по одной непрерывной производной.
Детали эрмитовой кубической интерполяции.
Пусть . Определим на каждом из интервалов , , четыре кубические функции
Теперь определим и как
Положим для
а для
Наконец, определим
.
Обрисуем свойства этих функций на примере . По данному выше определению тождественно равна нулю при и .
Для имеем .
Для имеем .
Из этих формул видно, что функция определена при всех и является кусочно-полиномиальной. Она обращается в нуль в каждом узле. В точках и у неё нули второго порядка, следовательно, в этих точках и производная обращается в нуль.
В узле производную можно вычислить по одной из двух формул, в зависимости от того, приближаемся мы к слева или справа.
Производная слева равна
,
производная справа равна
.
Поскольку односторонние производные с обеих сторон равны, то .
Можно доказать, что функции и , непрерывны и имеют непрерывную производную на всем интервале , непрерывную производную имеет и сама функция , следовательно, она является эрмитовым кубическим интерполянтом. Функцию легко вычислить, если известны величины . Для нахождения интерполянта в произвольной фиксированной точке достаточно заметить, что функции и отличны от нуля не более чем на двух интервалах. Поэтому большинство членов в сумме тождественно равны нулю; надо учитывать не более четырёх слагаемых.
Итак, вычисление значения включает в себя, во-первых, локализацию в некотором интервале (между и ), во-вторых, вычисление членов , в-третьих, умножение на требуемые и и суммирование.