Задачи интерполирования функции — различия между версиями
Komarov (обсуждение | вклад) |
Komarov (обсуждение | вклад) (→Собственно интерполяция) |
||
| Строка 1: | Строка 1: | ||
{{В разработке}} | {{В разработке}} | ||
| − | == | + | == Задача интерполяция == |
| − | + | {{Определение | |
| + | |definition= | ||
| + | Система узлов — набор чисел <tex>x_1 < x_2 < x_3 < \ldots < x_n</tex> и <tex>y_1, y_2, y_3, \ldots ,y_n</tex>. | ||
| + | }} | ||
| − | Требуется найти полином <tex>P_n</tex> степени не выше <tex>n</tex> такой, что <tex>P_n(x_k) = y_k</tex>. | + | Дана система узлов <tex>x_1 < x_2 < x_3 < \ldots < x_n</tex> и <tex>y_1, y_2, y_3, \ldots ,y_n</tex>. Требуется найти полином <tex>P_n</tex> степени не выше <tex>n</tex> такой, что <tex>P_n(x_k) = y_k</tex>. |
Будем искать его в форме Лагранжа, хотя имеется ряд равносильных представлений, например, в | Будем искать его в форме Лагранжа, хотя имеется ряд равносильных представлений, например, в | ||
| Строка 10: | Строка 13: | ||
Очевидно, что если такой полином существует, то только один. | Очевидно, что если такой полином существует, то только один. | ||
| − | Будем искать его в форме Лагранжа. Для этого построим ''фундаментальные полиномы'' <tex>\Phi_j(x)</tex> степени не выше <tex>n</tex>, отвечающие заданной | + | Будем искать его в форме Лагранжа. Для этого построим ''фундаментальные полиномы''. |
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | Фундаментальные полиномы <tex>\Phi_j(x)</tex> степени не выше <tex>n</tex> — полиномы, отвечающие заданной | ||
системе узлов <tex>x_0 < x_1 < \ldots < x_n</tex> такие, что | системе узлов <tex>x_0 < x_1 < \ldots < x_n</tex> такие, что | ||
<tex> | <tex> | ||
| Строка 19: | Строка 26: | ||
\end{aligned}\right. | \end{aligned}\right. | ||
</tex>. | </tex>. | ||
| + | }} | ||
Для его построения обозначим за <tex>\omega_n(x) = \prod\limits_{j = 0}^n (x - x_j)</tex>. Это полином степени <tex>n + 1</tex>. | Для его построения обозначим за <tex>\omega_n(x) = \prod\limits_{j = 0}^n (x - x_j)</tex>. Это полином степени <tex>n + 1</tex>. | ||
| − | Составим выражение <tex>\frac{\omega_n(x)}{(x - x_j) \cdot \omega_n'(x_j)}</tex>, <tex>x \ne x_j</tex>. В этом случае дробь корректно определена | + | Составим выражение <tex>\frac{\omega_n(x)}{(x - x_j) \cdot \omega_n'(x_j)}</tex>, <tex>x \ne x_j</tex>. В этом случае дробь корректно определена. |
| − | + | При <tex>x \to x_j</tex> получаем неопределённость <tex>\frac00</tex>. Раскроем её по правилу Лопиталя: <tex>\frac{\omega'_n(x)}{\omega_n'(x_j)} = 1</tex> при <tex>x \to x_j</tex>. | |
| − | Тогда доопределим по непрерывности дробь единицей. Но при <tex>x \ne x_j</tex> это полином <tex>n</tex>-й степени. Значит, | + | Тогда доопределим по непрерывности дробь единицей. Но при <tex>x \ne x_j</tex> — это полином <tex>n</tex>-й степени. Значит, |
<tex>\Phi_j(x) = \frac{\omega_n(x)}{(x-x_j) \cdot \omega_n'(x_j)}</tex>. | <tex>\Phi_j(x) = \frac{\omega_n(x)}{(x-x_j) \cdot \omega_n'(x_j)}</tex>. | ||
Версия 07:45, 16 ноября 2010
Задача интерполяция
| Определение: |
| Система узлов — набор чисел и . |
Дана система узлов и . Требуется найти полином степени не выше такой, что .
Будем искать его в форме Лагранжа, хотя имеется ряд равносильных представлений, например, в форме Ньютона.
Очевидно, что если такой полином существует, то только один.
Будем искать его в форме Лагранжа. Для этого построим фундаментальные полиномы.
| Определение: |
| Фундаментальные полиномы степени не выше — полиномы, отвечающие заданной
системе узлов такие, что . |
Для его построения обозначим за . Это полином степени .
Составим выражение , . В этом случае дробь корректно определена. При получаем неопределённость . Раскроем её по правилу Лопиталя: при . Тогда доопределим по непрерывности дробь единицей. Но при — это полином -й степени. Значит, .
Тогда , что и требовалось. ` Обозначим .
.
Требуемый полином найден.
Замечание: из формулы для фундаментальных полномов легко записать в развёрнутом виде:
TODO: заголовок
Выведенную ранее формулу Тейлора можно трактовать следующим образом: <<Дано . Найти полином степени не выше такой, что >>.
Ранее мы обнаружили, что это .
Теперь другая задача: <<Дана функция и система узлов. Требуется найти полином степени не выше такой, что >>
Положим . По пункту 1 этот полином решает поставленную задачу. Для полинома Тейлора .
Сейчас будет доказана теорема аналогичная теореме об интерполяционном полиноме Лагранжа, после чего станет ясно, что это задачи одного класса. Во втором случае это изложено на языке производных, а в первом~--- через значения функции в точках.
Эти два метода метода можно комбинировать, лишь бы информативных значений было . Такие промежуточные задачи называют
интерполированием по Эрмиту. Но они никому не нужны.
| Теорема (Лагранжа): |
Пусть раз дифференцируема на . На этом промежутке дана система узлов. Тогда для соответственного
интерполяционного полинома Лагранжа выполняется равенство , где ~--- некоторая точка из , зависящая от . |
| Доказательство: |
|
Случай тривиален. Пусть тогда . Для доказательства применим теорему Ролля. Определим вспомогательную функцию , где ~--- коэффициент, подлежащий определению, а дано.
Для определения потребуем, чтобы было равно .
, так как .
Итак, при выбранном будет , , то есть принимает нулевые значения в точках. Очевидно, из узлов и точки можно сделать последовательный отрезок. На конце каждого из них принимает значение . Значит, по теореме Ролля на каждом из них найдётся по корню производной. Из полученных корней можно сделать отрезков, на каждом из них по теореме Ролля найдётся по корню второй производной\ldots В конце концов останется один отрезок, границами которого будут корни . Тогда по теореме Ролля на этом отрезке найдётся корень . Его и обозначим за . Подведём промежуточный итог: найдено такое, что .
Продифференцируем раз. . . Таким образом, . Подставим .
|
Следствие: в условии теоремы было неравенство ,
Замечание:
Следует понимать, что на самом деле какую бы систему узлов мы не взяли на как по числу точек в ней, так и по характеру распределения значений, для этого промежутка всегда можно построить интерполяционный многочлен, который будет отличаться от неё сколь угодно много(нипанянтна~--- прим. наборщика)