Участник:Lr2k/Песочница
Материал из MachineLearning.
Строка 115: | Строка 115: | ||
== Числовой пример == | == Числовой пример == | ||
Построим интерполянту для для функции <tex>ftex> заданой следующим образом: | Построим интерполянту для для функции <tex>ftex> заданой следующим образом: | ||
+ | [[Изображение:Interpolation_data.png|right|frame]] | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
- | ! <tex> | + | ! <tex>x<tex> |
! <tex>f(x)</tex> | ! <tex>f(x)</tex> | ||
|- | |- | ||
Строка 138: | Строка 139: | ||
| 0.23975 | | 0.23975 | ||
|} | |} | ||
- | + | ||
== Рекомендации программисту == | == Рекомендации программисту == | ||
Версия 19:54, 13 октября 2008
Содержание |
Введение
Постановка математической задачи
Одной из значения функции , равные . Требуется построить иносновных задач численного анализа является задача об интерполяции функций. Пусть на отрезке задана сетка и в её узлах заданы терполянту — функцию , совпадающую с функцией в узлах сетки:
Основная цель интерполяции — получить быстрый (экономичный) алгоритм вычисления значений для значений , не содержащихся в таблице данных.
Интерполируюшие функции , как правило строятся в виде линейных комбинаций некоторых элементарных функций:
где — фиксированный линейно независимые функции, — не определенные пока коэффициенты.
Из условия (1) получаем систему из уравнений относительно коэффициентов :
Предположим, что система функций такова, что при любом выборе узлов отличен от нуля определитель системы:
.
Тогда по заданным однозначно определяются коэффициенты .
Изложение метода
Интерполяция кубическими сплайнами является частным случаем кусочно-полиномиальной интерполцией. В этом специальном случае между любыми двумя соседними узлами функция интерполируется кубическим полиномом. его коэффициенты на каждом интервале определяются из условий сопряжения в узлах:
Кроме того, на границе при и ставятся условия
Будем искать кубический полином в виде
Из условия имеем
Вычислим производные:
и потребуем их непрерывности при :
Общее число неизвестных коэффициентов, очевидно, равно , число уравнений (4) и (5) равно . Недостающие два уравнения получаем из условия (2) при и :
Выражение из (5) , подставляя это выражение в (4) и исключая , получим
Подставив теперь выражения для и в первую формулу (5), после несложных преобразований получаем для определения разностное уравнение второго порядка
С краевыми условиями
Условие эквивалентно условию и уравнению . Разностное уравнение (6) с условиями (7) можно решить методом прогонки, представив в виде системы линейных алгебраических уравнений вида , где вектор соответствует вектору , вектор поэлементно равен правой части уравнения (6), а матрица имеет следующий вид:
где и .
Метод прогонки
Метод прогонки, основан на предположении, что искомые неизвестные связаны рекуррентным соотношением:
Используя это соотношение, выразим и через и подставим
в i-e уравнение:
,где - правая часть i-го уравнения. Это соотношение будет выполняться независимо от решения, если потребовать
Отсюда следует:
Из первого уравнения получим:
После нахождения прогоночных коэффициентов и , используя уравнение (1), получим решение системы. При этом,
Числовой пример
Построим интерполянту для для функции x
Рекомендации программисту
Заключение
Список литературы
- А.А.Самарский, А.В.Гулин. Численные методы М.: Наука, 1989.
- А.А.Самарский. Введение в численные методы М.: Наука, 1982.
- Костомаров Д.П., Фаворский А.П. Вводные лекции по численным методам