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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Рациональная интерполяция (интерполяция рациональными функциями) — представление интерполируемой функции (точнее говоря, ряда табличных значений) в виде отношения двух полиномов. Ряд функций, плохо интерполируемых полиномиальными методами, удаётся хорошо приблизить рациональной функцией с полиномом в числителе и знаменателе[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 года. Архивированная копия. Дата обращения: 30 апреля 2009. Архивировано 1 апреля 2010 года. (англ.)
  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. Архивировано из оригинала 10 мая 2012 года.
  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. Архивировано 12 мая 2008 года. (англ.)
  8. Michael S. Floater, Kai Hormann. Barycentric Rational Interpolation with no Poles and High Rates of Approximation. — 2005. Архивировано 16 ноября 2010 года. Архивированная копия. Дата обращения: 30 апреля 2009. Архивировано из оригинала 16 ноября 2010 года. (англ.)