Это не официальный сайт wikipedia.org 01.01.2023

Интерполяционный многочлен Лагранжа — Википедия

Интерполяционный многочлен Лагранжа

(перенаправлено с «Полином Лагранжа»)

Интерполяцио́нный многочле́н Лагра́нжа — многочлен минимальной степени, принимающий заданные значения в заданном наборе точек, то есть решающий задачу интерполяции.

ОпределениеПравить

 
Интерполяционный многочлен Лагранжа для четырёх точек (-9,5), (-4,2), (-1,-2) и (7,9), а также полиномы y i l i ( x )  , каждый из которых проходит через одну из выделенных точек, и принимает нулевое значение в остальных.

Пусть задана n + 1   пара чисел ( x 0 , y 0 ) , ( x 1 , y 1 ) , , ( x n , y n ) ,   где все x j   различны. Требуется построить многочлен L ( x )   степени не более n  , для которого L ( x j ) = y j  .

Общий случайПравить

Ж. Л. Лагранж предложил следующий способ вычисления таких многочленов:

L ( x ) = i = 0 n y i l i ( x ) ,  

где базисные полиномы l i   определяются по формуле

l i ( x ) = j = 0 , j i n x x j x i x j = x x 0 x i x 0 x x i 1 x i x i 1 x x i + 1 x i x i + 1 x x n x i x n  

Для любого i = 0 , , n   многочлен l i   имеет степень n   и

l i ( x j ) = { 0 , j i , 1 , j = i .  

Отсюда следует, что L ( x )  , являющийся линейной комбинацией многочленов l i ( x )  , имеет степень не больше n   и L ( x i ) = y i  .

Случай равноотстоящих узлов интерполяцииПравить

Пусть узлы интерполяции x j   являются равноотстоящими, то есть выражаются через начальную точку x 0   и некоторую фиксированную положительную величину h   следующим образом:

x j = x 0 + j h .  

Отсюда следует, что

x j x i = ( j i ) h .  

Подставляя эти выражения в формулу для базисного полинома и вынося h   за знаки произведения в числителе и знаменателе, получим

l j ( x ) = i = 0 , i j n ( x x i ) ( x j x i ) = i = 0 , i j n ( x x 0 i h ) h n i = 0 , i j n ( j i )  

Теперь можно ввести замену переменной

y = x x 0 h  

и получить выражение для базисных полиномов через y  , которое строится с использованием только целочисленной арифметики:

l j ( x ) = l j ( x 0 + y h ) = ( 1 ) n j C n j y ( y 1 ) ( y n ) ( y i ) n ! .  

Данные величины называются коэффициентами Лагранжа. Они не зависят ни от y 0 , , y n  , ни от h   и потому могут быть вычислены заранее и записаны в виде таблиц. Недостатком данного подхода является факториальная сложность числителя и знаменателя, что требует использования длинной арифметики.

Остаточный членПравить

Если считать числа y 0 , , y n   значениями некоторой функции f   в узлах x 0 , , x n  , то ошибка интерполирования функции f   многочленом L   равна

f ( x ) L ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x x 0 ) ( x x n ) ,  

где ξ   – некоторая средняя точка между наименьшим и наибольшим из чисел x 0 , , x n  . Полагая M n + 1 = sup x [ x 0 , x n ] | f ( n + 1 ) ( x ) |  , можно записать

| f ( x ) L ( x ) | M n + 1 ( n + 1 ) ! | ( x x 0 ) ( x x n ) | .  

ЕдинственностьПравить

Существует единственный многочлен степени не превосходящей n  , принимающий заданные значения в n + 1   заданной точке.

Это утверждение является обобщением того факта, что через любые две точки проходит единственная прямая.

С точки зрения линейной алгебрыПравить

На единственность интерполяционного многочлена можно также взглянуть с точки зрения СЛАУ. Рассмотрим систему уравнений P ( x 0 ) = y 0 , P ( x 1 ) = y 1 , , P ( x n ) = y n  . В явном виде она записывается как

{ a 0 + a 1 x 0 + a 2 x 0 2 + + a n x 0 n = y 0 , a 0 + a 1 x 1 + a 2 x 1 2 + + a n x 1 n = y 1 , , a 0 + a 1 x n + a 2 x n 2 + + a n x n n = y n  

Её можно переписать в виде системы уравнений X a = y   с неизвестным вектором a = ( a 0 , a 1 , , a n )  :

[ 1 x 0 x 0 2 x 0 n 1 x 1 x 1 2 x 1 n 1 x n x n 2 x n n ] [ a 0 a 1 a n ] = [ y 0 y 1 y n ]  

Матрица X   в такой системе является матрицей Вандермонда и её определитель равен i < j ( x i x j )  . Соответственно, если все точки x 0 , x 1 , , x n   различны, то матрица невырождена и система обладает единственным решением.

С точки зрения китайской теоремы об остаткахПравить

По теореме Безу остаток от деления P ( x )   на ( x a )   равен P ( a )  . Таким образом, всю систему можно воспринимать в виде системы сравнений:

{ P ( x ) y 0 ( mod x x 0 ) , P ( x ) y 1 ( mod x x 1 ) , , P ( x ) y n ( mod x x n ) ,  

По китайской теореме об остатках у такой системы есть единственное решение по модулю ( x x 0 ) ( x x 1 ) ( x x n )  , то есть, заданная система однозначно определяет многочлен степени не выше n  . Такое представление многочлена в виде наборов остатков по модулям мономов аналогично представлению числа в виде остатков от деления на простые модули в системе остаточных классов. При этом явная формула для многочлена Лагранжа также может быть получена в соответствии с формулами китайской теоремы: P ( x ) = i = 0 n y i M i M i 1  , где M i = j i ( x x j )   и M i 1 = j i ( x x j ) 1 ( mod x x i ) = j i ( x i x j ) 1  .

ПримерПравить

 
Приближение функции f ( x ) = tg ( x )   (синяя линия) многочленом L ( x ) = 4 , 834848 x 3 1 , 477474 x   (зелёная линия).

Найдем формулу интерполяции для f ( x ) = t g ( x )   имеющей следующие значения:

x 0 = 1.5 f ( x 0 ) = 14 , 1014 x 1 = 0.75 f ( x 1 ) = 0 , 931596 x 2 = 0 f ( x 2 ) = 0 x 3 = 0.75 f ( x 3 ) = 0 , 931596 x 4 = 1.5 f ( x 4 ) = 14 , 1014.  
l 0 ( x ) = x x 1 x 0 x 1 x x 2 x 0 x 2 x x 3 x 0 x 3 x x 4 x 0 x 4 = 1 243 x ( 2 x 3 ) ( 4 x 3 ) ( 4 x + 3 )  
l 1 ( x ) = x x 0 x 1 x 0 x x 2 x 1 x 2 x x 3 x 1 x 3 x x 4 x 1 x 4 = 8 243 x ( 2 x 3 ) ( 2 x + 3 ) ( 4 x 3 )  
l 2 ( x ) = x x 0 x 2 x 0 x x 1 x 2 x 1 x x 3 x 2 x 3 x x 4 x 2 x 4 = 3 243 ( 2 x + 3 ) ( 4 x + 3 ) ( 4 x 3 ) ( 2 x 3 )  
l 3 ( x ) = x x 0 x 3 x 0 x x 1 x 3 x 1 x x 2 x 3 x 2 x x 4 x 3 x 4 = 8 243 x ( 2 x 3 ) ( 2 x + 3 ) ( 4 x + 3 )  
l 4 ( x ) = x x 0 x 4 x 0 x x 1 x 4 x 1 x x 2 x 4 x 2 x x 3 x 4 x 3 = 1 243 x ( 2 x + 3 ) ( 4 x 3 ) ( 4 x + 3 ) .  

Получим

L ( x ) = 1 243 ( f ( x 0 ) x ( 2 x 3 ) ( 4 x 3 ) ( 4 x + 3 ) 8 f ( x 1 ) x ( 2 x 3 ) ( 2 x + 3 ) ( 4 x 3 ) + 3 f ( x 2 ) ( 2 x + 3 ) ( 4 x + 3 ) ( 4 x 3 ) ( 2 x 3 ) 8 f ( x 3 ) x ( 2 x 3 ) ( 2 x + 3 ) ( 4 x + 3 ) + f ( x 4 ) x ( 2 x + 3 ) ( 4 x 3 ) ( 4 x + 3 ) ) = 4 , 834848 x 3 1 , 477474 x .  

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

 
Многочлены Лагранжа степеней от нулевой до пятой для функции cos ( 5 π x )  

Численное интегрированиеПравить

Пусть для функции f ( x )   известны значения y i = f ( x i )   в некоторых точках. Тогда можно интерполировать эту функцию методом Лагранжа:

f ( x ) i = 0 n f ( x i ) l i ( x ) .  

Полученное выражение можно использовать для приближённого вычисления определённого интеграла от функции f  :

a b f ( x ) d x i = 0 n f ( x i ) a b l i ( x ) d x  

Значения интегралов от l i   не зависят от f ( x )   и их можно вычислить заранее с использованием последовательности x j  .

ЛитератураПравить

СсылкиПравить

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