Открыть главное меню

Рациональная интерполяция (интерполяция рациональными функциями) — представление интерполируемой функции (точнее говоря, ряда табличных значений) в виде отношения двух полиномов. Ряд функций, плохо интерполируемых полиномиальными методами, удаётся хорошо приблизить рациональной функцией с полиномом в числителе и знаменателе[1]. Особенно это касается функций с нерегулярным характером поведения[2] (в частности, рациональная интерполяция хорошо подходит для функций с особыми точками[1] и резкими изменениями[2][3]).

По известным точкам , … , приближение к ищется в виде

, и [2].

Коэффициенты и вычисляются из набора соотношений , где , которые можно записать в виде

, где [2].

Эти уравнения образуют систему линейных алгебраических уравнений из уравнений относительно неизвестных. Классическая задача интерполяции сводится к решению этой системы, однако качественное и численное исследование такой системы затруднительно[4]. К тому же при большом количестве точек вычислить коэффициенты с большой точностью сложно — небольшой погрешности достаточно для того, чтобы полученный рациональный интерполянт не проходил через заданные точки[5].

Запись в явном видеПравить

В некоторых случаях   можно записать в явном виде (  нечётное и  , либо   чётное и  ). Для этого вычисляются так называемые обратные разделенные разности, которые определяются условиями

 

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

 .

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

 .

Алгоритмы рациональной интерполяцииПравить

Алгоритм Булирша — ШтераПравить

Для решения проблем, связанных с системой уравнений, Булирш и Штер обобщили алгоритм Невилля на случай рациональной интерполяции. Алгоритм Булирша — Штера получает рациональную функцию со степенями числителя и знаменателя, равными  [2][5]. Недостаток метода в том, что не для каждого набора точек возможно построить интерполянт такого вида, причём алгоритм не предусматривает обнаружение подобных ошибок. Тем не менее, долгое время этот алгоритм оставался единственным доступным способом рациональной интерполяции[5].

Алгоритм Шнайдера — ВернераПравить

В 1986 году Шнайдер и Вернер опубликовали работу, в которой изложили свой алгоритм рациональной интерполяции, использующий барицентрическое представление рационального интерполянта[6]. Алгоритм Шнайдера — Вернера позволяет получить рациональную функцию с требуемой степенью знаменателя   (и степенью числителя  ). Также алгоритм позволяет проверить интерполянт на наличие особых точек[5].

Впоследствии Беррут усовершенствовал этот алгоритм[7].

Алгоритм Флоатера — ХорманнаПравить

В 2005 году Флоатером и Хорманном был описан алгоритм построения рациональной интерполирующей функции, имеющий высокую скорость работы, устойчивость и надежность[8]. По этим параметрам алгоритм Флоатера — Хорманна сравним с интерполяцией сплайнами. При этом получаемая функция обладает малой погрешностью аппроксимации, степенями числителя и знаменателя не более, чем  , а также не имеет особых точек на действительной оси.

ПримечанияПравить

  1. 1 2 William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery. 3.2 Rational Function Interpolation and Extrapolation // Numerical Recipes in C. — Second Edition. — Cambridge: Cambridge University Press. — ISBN 0-521-43108-5. Архивная копия от 1 апреля 2010 на Wayback Machine (англ.)
  2. 1 2 3 4 5 Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. § 17. Рациональная интерполяция // Численные методы. — 6-е издание. — М.: Бином, 2008. — С. 85. — 636 с. — (Лаборатория знаний). — 3000 экз. — ISBN 978-5-94774-815-4.
  3. Efunda. Engineering fundamentals. Rational Function Interpolation (англ.). Дата обращения 30 апреля 2009. Архивировано 30 марта 2012 года.
  4. Чередниченко В. Г. Рациональная интерполяция, аналитическое решение. // Сиб. матем. журн., 43:1. — Новосибирск, 2002. — С. 188–193.
  5. 1 2 3 4 Бочканов Сергей, Быстрицкий Владимир. «Библиотека алгоритмов». Рациональная интерполяция. Дата обращения 30 апреля 2009.
  6. C. Schneider, W. Werner. Some new aspects of rational interpolation // Mathematics of Computation, №47 (175). — 1986. — P. 285–299. (англ.)
  7. Jean–Paul Berrut, Richard Baltensperger, Hans D. Mittelmann. Recent developments in barycentric rational interpolation // International Series of Numerical Mathematics Vol. 151. — Basel: Birkhäuser, 2005. — P. 27–51. — ISBN 3-7643-7124-2. (англ.)
  8. Michael S. Floater, Kai Hormann. Barycentric Rational Interpolation with no Poles and High Rates of Approximation. — 2005. Архивная копия от 16 ноября 2010 на Wayback Machine (англ.)

См. такжеПравить