Interpolacja wielomianowa, nazywana też interpolacją Lagrange’a, od nazwiska pioniera badań nad interpolacją Josepha Lagrange’a lub po prostu interpolacją – metoda numeryczna przybliżania funkcji tzw. wielomianem Lagrange’a stopnia
przyjmującym w
punktach, zwanych węzłami interpolacji, wartości takie same jak przybliżana funkcja[1].
Interpolacja jest często stosowana w naukach doświadczalnych, gdzie dysponuje się zazwyczaj skończoną liczbą danych określających badane zależności.
Zgodnie z twierdzeniem Weierstrassa dowolną funkcję
ciągłą na przedziale domkniętym
można dowolnie przybliżyć za pomocą wielomianu odpowiednio wysokiego stopnia[2].
Taka interpolacja jest szczególnym, najprostszym przypadkiem interpolacji wielomianowej dla dwóch punktów pomiarowych
i
dla których można utworzyć funkcję liniową, której wykres przechodzi przez te punkty (rys. obok).
Przykład interpolacji wielomianowej.
Metoda interpolacji funkcji
polega na:
- wybraniu
punktów (węzłów interpolacji)
należących do dziedziny
dla których znane są wartości 
- zbudowaniu wielomianu
stopnia co najwyżej
takiego, że 
Interpretacja geometryczna – dla danych
rzędnych funkcji
szuka się wielomianu stopnia co najwyżej
którego wykres przechodzi przez te rzędne (rys. obok).
- Uogólniony wielomian interpolacyjny
Skorzystamy z wielomianu o postaci ogólnej
| | ![{\displaystyle \varphi (x)=a_{0}\varphi _{0}(x)+a_{1}\varphi _{1}(x)+\,\dots +\,a_{n}\varphi _{n}(x)=\mathbf {B} (x)\mathbf {A} ,\quad x\in [x_{0},\,x_{n}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ac5f6a6e1755e096419cab105f35f659079c96f1) |
|
(1) |
utworzonej z pewnego zbioru funkcji
które są liniowo niezależne i tworzą bazę interpolacji
| | ![{\displaystyle \mathbf {B} (x)=[\varphi _{0}(x),\,\varphi _{1}(x),\dots ,\,\varphi _{n}(x)],\quad \mathbf {A} =(a_{0},\,a_{1},\,\dots ,\,a_{n})^{T}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8bdfcd4271a7df3af7a7bcfa4325405d762fb02c) |
|
(2) |
Współczynniki
dobierzemy w taki sposób, aby spełnione były warunki
| |  |
|
(3) |
w których
oznaczają współrzędne danych węzłów interpolacji funkcji
Po uwzględnieniu (1) otrzymujemy układ równań
| |  |
|
(4) |
lub w zapisie macierzowym[1]
| |  |
|
(5) |
Na podstawie (1) i (5) otrzymujemy
| |  |
|
(6) |
O jakości interpolacji decydują:
- wybór bazy
oraz
- wybór położenia węzłów

Najprostszą bazę interpolacji można utworzyć z jednomianów
| |  |
|
(7) |
W tym przypadku otrzymuje się macierz
| |  |
|
(8) |
o strukturze Vandermonda[1] i dzięki temu zawsze istnieje rozwiązanie problemu jeżeli tylko
gdy
Korzystając ze wzoru (6) i bazy (7), możemy utworzyć taką funkcję
która spełnia warunki
Wystarczy obliczyć współczynniki
rozwiązując układ równań (4) z prawą stroną
![{\displaystyle F_{k}=[f(x_{1})=0,\,f(x_{2})=0,\,\dots ,\,f(x_{k})=1,\,\dots ,\,f(x_{n})=0]^{T}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c1b7e09afb0244f749a88bef32d9f982aa7bd560)
Wielomian taki zaproponował Lagrange w postaci

gdzie
jest iloczynem, w którym
i
Wielomian Lagrange’a to szczególna postać wielomianu, wykorzystywana często w zagadnieniach interpolacji. Dla wielomianu stopnia
wybiera się
punktów –
i wielomian ma postać:

Ponieważ
Dzięki temu interpolowaną funkcję
można przedstawić w postaci wielomianu

który spełnia warunki

Dowód istnienia wielomianu interpolującego[edytuj | edytuj kod]
Niech
będą węzłami interpolacji funkcji
takimi, że znane są wartości: 
Można zdefiniować funkcję:

taką, że dla
jest wielomianem stopnia
(mianownik jest liczbą, a licznik iloczynem
wyrazów postaci
).
Gdy
i

Gdy
i

(licznik = 0, ponieważ występuje element
).
Niech
będzie wielomianem stopnia co najwyżej
określonym jako:

Dla

Wszystkie składniki sumy o indeksach różnych od
są równe zeru (ponieważ dla
), składnik o indeksie
jest równy:

a więc

z czego wynika, że
jest wielomianem interpolującym funkcję
na zbiorze punktów
Jednoznaczność interpolacji wielomianowej[edytuj | edytuj kod]
Dowód
Zakłada się, że istnieją dwa różne wielomiany
i
stopnia
przyjmujące w węzłach
takie same wartości.
Niech

jest wielomianem stopnia co najwyżej
(co wynika z własności odejmowania wielomianów).
Ponieważ
i
w węzłach
interpolują tę samą funkcję, to
a więc
(węzły interpolacji są pierwiastkami
(*)
Ale każdy niezerowy wielomian stopnia
ma co najwyżej
pierwiastków rzeczywistych, a ponieważ z (*) wiadomo, że
ma
pierwiastków, to
musi być wielomianem tożsamościowo równym zeru, a ponieważ:

to

co jest sprzeczne z założeniem, że
i
są różne.
Dość naturalne wydaje się przyjęcie, że zwiększenie liczby węzłów interpolacji (lub stopnia wielomianu interpolacyjnego) pociąga za sobą coraz lepsze przybliżenie funkcji
wielomianem
Idealna byłaby zależność:

tj. dla coraz większej liczby węzłów wielomian interpolacyjny staje się „coraz bardziej podobny” do interpolowanej funkcji.
Dla węzłów równo odległych tak być nie musi → efekt Rungego.
Można dowieść, że dla każdego wielomianu interpolacyjnego stopnia
przybliżającego funkcję
w przedziale
na podstawie
węzłów, istnieje taka liczba
zależna od
że dla reszty interpolacji

gdzie
a
jest liczbą zależną od
Do oszacowania z góry wartości
można posłużyć się wielomianami Czebyszewa stopnia
do oszacowania wartości
dla
Dla przedziału
wystarczy dokonać przeskalowania wielomianu
Interpolacje funkcji
za pomocą wielomianów n-tego stopnia, w tym również wielomianów Lagrange’a, mają istotną wadę. Polega ona na tym, że ze wzrostem liczby węzłów interpolacji, przybliżanie wartości funkcji, pomiędzy jej kolejnymi węzłami, odbywa się przez tworzenie kombinacji liniowej z fragmentów kolejnych
wielomianów, które to fragmenty wraz ze wzrostem liczby
upodabniają się do siebie i nie wiele się różnią. Sytuację pogarsza złożoność obliczania wartości tych wielomianów. W sumie powoduje to wzrost niestabilności algorytmów obliczeniowych. Można generalnie stwierdzić, że przyczyną tego stanu rzeczy jest fakt, że nośnikiem funkcji aproksymujących jest cały przedział
Złożoności obliczeniowej można uniknąć w bardzo prosty sposób, budując sklejane funkcje aproksymujące o jak najkrótszych nośnikach. Przy czym nie ma potrzeby posługiwania się wielomianami wysokich stopni.
W przypadku, gdy funkcja interpolująca nie musi być różniczkowalna, można ją zbudować przez „sklejenie” odcinków prostoliniowych. W tym przypadku baza interpolacji składa się z prostych funkcji
| |



|
|
(a) |
W każdym przedziale międzywęzłowym
funkcja
jest interpolowana przez dwie funkcje
![{\displaystyle \psi _{i}(x)={\frac {x_{i+1}-x}{x_{i+1}-x_{i}}}\quad \mathrm {i} \quad \psi _{i+1}(x)={\frac {x-x_{i}}{x_{i+1}-x_{i}}},\quad x\in [x_{i},\,x_{i+1}],\quad i=0,\,1,\,\dots ,\,n-1.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b96329fc6396610c28ed5a78b3bd1c1dbd7a0c4)
Funkcje te przez odwzorowanie
przedziału
na przedział
przyjmują postać standardową
![{\displaystyle {\bar {\psi }}_{i}(\xi )=1-\xi ,\quad {\bar {\psi }}_{i+1}(\xi )=\xi ,\quad \xi \in [0,\,1],\quad i=0,\,1,\,\dots ,\,n-1.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a16eeaf8504f5f8f9ac748f5f542105f362bb847)
Różniczkowalność funkcji interpolującej
można uzyskać budując przykładowo bazę sklejoną z wielomianów 3-go stopnia
![{\displaystyle \varphi _{0}(x)={\begin{cases}\;0\quad gdy\quad x\leqslant x_{0},\\\;1-\xi ^{2}(3-2\xi )+\beta _{0}\xi (1-\xi )^{2},\quad \xi ={\frac {x-x_{0}}{x_{1}-x_{0}}},\quad x\in [x_{0},\,x_{1}],\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0838729e565b328ac4c14d630824e2b5538c16e8)
![{\displaystyle \varphi _{i}(x)={\begin{cases}\;\xi ^{2}(3-2\xi )-\beta _{i}\xi ^{2}(1-\xi ),\quad \xi ={\frac {x-x_{i-1}}{x_{i}-x_{i-1}}},\quad x\in [x_{i-1},\,x_{i}],\\\;1-\xi ^{2}(3-2\xi )+\beta _{i}\xi (1-\xi )^{2},\quad \xi ={\frac {x-x_{i}}{x_{i+1}-x_{i}}},\quad x\in [x_{i},\,x_{i+1}],\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fdeccd59f9fe46085a1be1312711aa95a54ef50f)
![{\displaystyle \varphi _{n}(x)={\begin{cases}\;\xi ^{2}(3-2\xi )-\beta _{n}\xi ^{2}(1-\xi ),\quad \xi ={\frac {x-x_{n-1}}{x_{n}-x_{n-1}}},\quad x\in [x_{n-1},\,x_{n}],\\\;0\quad gdy\quad x\geqslant x_{n},\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e19ee3cacfbecb65e1f114fd4313e6786bd8f6d)
Dzięki wprowadzeniu dodatkowych członów z mnożnikami
wielomian interpolujący

nie tylko spełnia warunki

ale również przybliża średnie wartości pochodnych we wszystkich węzłach interpolacji. Pominięcie tych członów
daje interpolację co prawda różniczkowalną, ale taką, że
Stosowanie baz zbudowanych z uogólnionych wielomianów sklejanych o krótkich nośnikach, złożonych tylko z dwu sąsiednich przedziałów, w sposób zdecydowany poprawia stabilność obliczeń interpolacyjnych.
Opisana koncepcja tworzenia baz sklejanych daje się bez trudu uogólnić na interpolację dwu- i trój-wymiarową co stanowi podstawę metody elementów skończonych[3].
- ↑ a b c J. Legras, Praktyczne metody analizy numerycznej, WNT, Warszawa 1974.
- ↑ B.P. Demidowicz, I.A. Maron, Metody numeryczne, cz. 2, PWN, Warszawa 1965.
- ↑ M.J. Ciałkowski, K. Magnucki, Zarys metody elementów skończonych, Wyd. Politechniki Poznańskiej, Poznań 1982.