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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Введение)
Текущая версия (19:25, 18 сентября 2011) (править) (отменить)
(Пример использования)
 
(3 промежуточные версии не показаны)
Строка 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>R(x)=\frac{a_0+a_1x+\dots+a_px^p}{b_0+b_1x+\dots+b_px^p}, p+q+1=n</tex>
Строка 9: Строка 9:
<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> \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>
-
Таким образом полычаем систему ''n'' линейных алгебраических уравнений относительно ''n+1'' неизыестных.
+
Таким образом получаем систему ''n'' линейных алгебраических уравнений относительно ''n+1'' неизвестных.
-
Функция ''R(x)'' может быть записана в явном виде в случаях, когда ''n'' нечетное и ''p=q'', и когда ''n'' четное и ''p-q=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;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_l)=\frac{x_l-x_k}{f^{-}(x_{k+1};\ldots;x_l)-f^{-}(x_k;\ldots;x_{l-1})}</tex>
Строка 26: Строка 26:
==Погрешность вычислений==
==Погрешность вычислений==
-
 
==Пример использования==
==Пример использования==
 +
Выполним интерполяцию для узлов интерполяции, полученных из функции 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.

См. также

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