Интерполяция алгебраическими многочленами: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
→Преамбула: исправил ошибку, оформление |
NapalmBot (обсуждение | вклад) м Удаление принудительных пробелов в формулах по ВП:РДБ. |
||
Строка 14:
== Применение ==
Полученную интерполяционную [[Математическая формула|формулу]] <math>f(x) \approx P_n(x)</math> часто используют для приближённого вычисления значений функции ''f'' при значениях аргумента ''x'', отличных от узлов интерполирования. При этом различают ''[[Интерполяция|интерполирование]]'' в узком смысле, когда <math>x \in \left[ x_0, x_n \right]</math>, и ''[[Экстраполяция|экстраполирование]]'', когда <math>x \in \left[ a, b \right]</math>, <math>x \not\in \left[ x_0, x_n \right]</math>
Строка 24 ⟶ 23 :
== Решение задачи ==
Через фиксированный набор точек можно провести бесконечное число кривых, поэтому задача интерполяции не имеет единственного решения.
Будем строить кривые в виде <math>\mathbf{r}(t)</math>, где параметр <math>t</math> изменяется на некотором отрезке
<math>
<math>
сетку <math>
<math>
Введение параметризации и сетки может быть выполнено различными способами. Обычно выбирают либо равномерную сетку, полагая
<math>
в качестве разности значений параметра <math>
\mathbf{r}_{i}</math>.
Одним из распространенных способов интерполяции является использование кривой в виде многочлена от <math>
степени <math>
<math>\mathbf{r}(t) = \mathbf{p}^{(n-1)}(t) =\sum_{k=1}^n \mathbf{a}_k t^{n-k}▼
▲\mathbf{r}(t) = \mathbf{p}^{(n-1)}(t) =\sum_{k=1}^n \mathbf{a}_k t^{n-k}
</math>
Многочлен имеет <math>
<math>
Эти условия приводят к системе линейных уравнений для коэффициентов <math>
<math>
1 & t_1 & t_1^2 & \ldots & t_1^{n-1} \\
1 & t_2 & t_2^2 & \ldots & t_2^{n-1} \\
Строка 65 ⟶ 61 :
</math>
Обратим внимание, что нужно решить три системы уравнений: для <math>
<math>
обращая которую, по значениям радиус-векторов <math>
<math>
<math>W(t_1, t_2, \ldots , t_n) = \begin{vmatrix}▼
▲W(t_1, t_2, \ldots , t_n) = \begin{vmatrix}
1 & t_1 & t_1^2 & \ldots & t_1^{n-1} \\
1 & t_2 & t_2^2 & \ldots & t_2^{n-1} \\
Строка 79 ⟶ 74 :
</math>
называется [[Определитель Вандермонда|
система уравнений имеет решение.
Строка 86 ⟶ 81 :
== Преимущества ==
* Для заданного набора точек и сетки параметра кривая строится однозначно.
* Кривая является интерполяционной, то есть проходит через все заданные точки.
Строка 92 ⟶ 86 :
== Недостатки ==
* С ростом числа точек порядок многочлена возрастает, а вместе с ним возрастает число операций, которое нужно выполнить для вычисления точки на кривой.
* С ростом числа точек у интерполяционной кривой могут возникнуть осцилляции (см. пример ниже).
Строка 101 ⟶ 94 :
Классическим примером ([[Рунге, Карл|Рунге]]), показывающим возникновение осцилляций у интерполяционного многочлена, служит интерполяция на равномерной сетке значений функции
<math>
</math>
Введем на отрезке <math>
<math>
<math>y(x) = \sum_{i=1}^n a_i x^{n-i}▼
▲y(x) = \sum_{i=1}^n a_i x^{n-i}
</math>
который в точках <math>
На рисунке представлены графики самой функции (штрих-пунктирная линия) и трех интерполяционных кривых при <math>
* интерполяция на сетке <math>
* интерполяция на сетке <math>
* интерполяция на сетке <math>
Значения интерполяционного многочлена даже для гладких функций в промежуточных точках могут сильно уклоняться от значений самой функции.
Строка 125 ⟶ 116 :
*[[Вейвлет]]
[[Категория:
[[Категория:Математический анализ]]
[[Категория:Многочлены]]
|