Рациональная интерполяция

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: ==Введение== Некоторые функции нельзя с достаточной точностью приблизить полиномами или полиномиаль...)
Текущая версия (19:25, 18 сентября 2011) (править) (отменить)
(Пример использования)
 
(11 промежуточных версий не показаны.)
Строка 1: Строка 1:
==Введение==
==Введение==
-
Некоторые функции нельзя с достаточной точностью приблизить полиномами или полиномиальное приближение очень медленно сходится. В этом случае разумно обратиться к другому методу - к дробно-рациональному приближению (иногда называют просто ''рациональное''), которое соответсвует отношению двух многочленов.
+
Некоторые функции нельзя с достаточной точностью приблизить полиномами или полиномиальное приближение очень медленно сходится. В этом случае разумно обратиться к другому методу - к дробно-рациональному приближению (иногда называют просто ''рациональное''), которое соответствует отношению двух многочленов.
-
Рассмотрим разложение функции в ряд Тейлора:
+
<tex>R(x)=\frac{a_0+a_1x+\dots+a_px^p}{b_0+b_1x+\dots+b_px^p}, p+q+1=n</tex>
-
<tex>f(x)=a_0+a_1 x+a_2 x^2+\dots +a_7 x^7 +\dots</tex>
+
Коэффициенты <tex>a_i, b_i</tex> можно найти из совокупности соотношений <tex>R(x_j)=y_j, j=1,\ldots,n,</tex> которые можно записать в виде
-
И рассмотрим следущее представление фунции
+
<tex> \sum_{j=0}^{p} a_j x_j^j-f(x_i)\sum_{j=0}^{q}b_j x_i^j=0, i=1,\ldots, n</tex>
-
<tex>f(x)=\frac{b_0 + b_1 x+b_2x^2+b_3 x^3}{c_0 + c_1 x+c_2x^2+c_3 x^3}</tex>
+
Таким образом получаем систему ''n'' линейных алгебраических уравнений относительно ''n+1'' неизвестных.
 +
Функция ''R(x)'' может быть записана в явном виде в случаях, когда ''n'' нечётное и ''p=q'', и когда ''n'' чётное и ''p-q=1''.
 +
Для этого следует вычислить обратные разделенные разности, определяемые условиями
-
==Погрешность вычислений==
+
<tex>f^{-}(x_k;x_l)=\frac{x_k-x_l}{f(x_k)-f(x_l)}</tex>
 +
и рекуррентным соотношением
 +
 +
<tex> f^{-}(x_k;\ldots;x_l)=\frac{x_l-x_k}{f^{-}(x_{k+1};\ldots;x_l)-f^{-}(x_k;\ldots;x_{l-1})}</tex>
 +
 +
после чего интерполирующая рациональная функция записывается в виде цепной дроби
 +
 +
<tex> f^{-}(x_k;\ldots;x_n)=f(x_1)+\frac{x-x_1}{f^{-}(x_1;x_2)+\frac{x-x_2} {f^{-}(x_1;x_2;x_3)+\dots+ \frac{x-x_{n-1}}{f^{-}(x_k;\ldots;x_{n}) } } }</tex>
 +
 +
Дробно-рациональное интерполирование при правильном выборе узлов целесообразно использовать для функций с нерегулярным характером поведения.
 +
 +
==Погрешность вычислений==
==Пример использования==
==Пример использования==
 +
Выполним интерполяцию для узлов интерполяции, полученных из функции f(t)=ln(t).<br>
 +
Узлы интерполяции: <br>
 +
:: t:=[1., 2., 3., 4., 5.]; <br>
 +
:: f(t):= [0., 0.69314718055994530942, 1.0986122886681096914, 1.3862943611198906188, 1.6094379124341003746]; <br>
 +
Выполняя интерполяцию по заданным узлам, получаем: <br>
 +
<tex>\Omega(t):=\frac{t-1.}{1.4426950408889634074+\frac{t-2.}{2.6470193430160504848+\frac{t-3.}{5.0781780711298101893+.72138672314187706016*t}}}</tex><br>
 +
Выполним построение графиков функции и выполним оценку погрешностей:
 +
[[Изображение:Thiele_interpolation.jpg|thumb]]
 +
Для исследования функции Ω(t) выполним экстраполяцию внутрь таблицы, взяв для определенности t=1.161.<br>
 +
ln(1.161)=0.14928170271575444560<br>
 +
Ω(1.161)=0.14858464422075798083<br>
 +
 +
Вычислим относительную погрешность для данного значения при использовании рациональной интерполяции<br>
 +
δ<sub>Ω(1.161)</sub>:=0.0046913225700552061895<br>
 +
 +
Выполним экстраполяцию вперед таблицы, взяв для определенности t=6.103.<br>
 +
δ<sub>Ω(6.103)</sub>:=0.00033164210935389932321
 +
 +
==Литературы==
 +
# ''Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков.'' Численные методы. Изд-во "Лаборатория базовых знаний". 2003.
 +
== См. также ==
 +
* [[Практикум ММП ВМК, 4й курс, осень 2008]]
-
==Список литературы==
+
[[Категория:Учебные задачи]]

Текущая версия

Содержание

Введение

Некоторые функции нельзя с достаточной точностью приблизить полиномами или полиномиальное приближение очень медленно сходится. В этом случае разумно обратиться к другому методу - к дробно-рациональному приближению (иногда называют просто рациональное), которое соответствует отношению двух многочленов.

R(x)=\frac{a_0+a_1x+\dots+a_px^p}{b_0+b_1x+\dots+b_px^p}, p+q+1=n

Коэффициенты a_i, b_i можно найти из совокупности соотношений R(x_j)=y_j, j=1,\ldots,n, которые можно записать в виде

 \sum_{j=0}^{p} a_j x_j^j-f(x_i)\sum_{j=0}^{q}b_j x_i^j=0, i=1,\ldots, n

Таким образом получаем систему n линейных алгебраических уравнений относительно n+1 неизвестных. Функция R(x) может быть записана в явном виде в случаях, когда n нечётное и p=q, и когда n чётное и p-q=1. Для этого следует вычислить обратные разделенные разности, определяемые условиями

f^{-}(x_k;x_l)=\frac{x_k-x_l}{f(x_k)-f(x_l)}

и рекуррентным соотношением

 f^{-}(x_k;\ldots;x_l)=\frac{x_l-x_k}{f^{-}(x_{k+1};\ldots;x_l)-f^{-}(x_k;\ldots;x_{l-1})}

после чего интерполирующая рациональная функция записывается в виде цепной дроби

 f^{-}(x_k;\ldots;x_n)=f(x_1)+\frac{x-x_1}{f^{-}(x_1;x_2)+\frac{x-x_2} {f^{-}(x_1;x_2;x_3)+\dots+ \frac{x-x_{n-1}}{f^{-}(x_k;\ldots;x_{n}) } } }

Дробно-рациональное интерполирование при правильном выборе узлов целесообразно использовать для функций с нерегулярным характером поведения.

Погрешность вычислений

Пример использования

Выполним интерполяцию для узлов интерполяции, полученных из функции f(t)=ln(t).
Узлы интерполяции:

t:=[1., 2., 3., 4., 5.];
f(t):= [0., 0.69314718055994530942, 1.0986122886681096914, 1.3862943611198906188, 1.6094379124341003746];
Выполняя интерполяцию по заданным узлам, получаем: 
\Omega(t):=\frac{t-1.}{1.4426950408889634074+\frac{t-2.}{2.6470193430160504848+\frac{t-3.}{5.0781780711298101893+.72138672314187706016*t}}}

Выполним построение графиков функции и выполним оценку погрешностей:

Для исследования функции Ω(t) выполним экстраполяцию внутрь таблицы, взяв для определенности t=1.161.
ln(1.161)=0.14928170271575444560
Ω(1.161)=0.14858464422075798083

Вычислим относительную погрешность для данного значения при использовании рациональной интерполяции
δΩ(1.161):=0.0046913225700552061895

Выполним экстраполяцию вперед таблицы, взяв для определенности t=6.103.
δΩ(6.103):=0.00033164210935389932321

Литературы

  1. Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков. Численные методы. Изд-во "Лаборатория базовых знаний". 2003.

См. также

Личные инструменты