4.4. Zbieżność interpolacji wielomianowej
W poprzednich rozdziałach stwierdziliśmy, że istnieje dokładnie jeden wielo-mian interpolacyjny, który może być reprezentowany w różnych bazach. Okazuje się jednak, że praktyczne możliwości wykorzystania interpolacji wielomianowej są ograniczone, gdyż przy dużej liczbie węzłów daje ona nie najlepsze wyniki. Pogarszanie się wyników interpolacji przy zwiększaniu liczby węzłów pokażemy na przykładzie funkcji
![]()
(4.32)
w przedziale ![]()
Na rysunkach 4.3 ÷ 4.5 przedstawiono wielomiany interpolacyjne Lagrange'a uzyskane za pomocą zmodyfikowanego programu 4.1, otrzymane dla n = 4, 7 i 10 przy założeniu, że węzły są równoodległe.
Rys. 4.3
Rys. 4.4
Rys. 4.5
Widać, że początkowo ze wzrostem liczby węzłów n przybliżenie polepsza się, lecz przy dalszym wzroście n przybliżenie zaczyna się pogarszać. Takie zachowanie się wielomianów interpolacyjnych, zwłaszcza przy końcach przedziału interpolacji jest zjawiskiem typowym dla interpolacji za pomocą wielomianów wysokich stopni przy stałych odległościach węzłów - jest to tzw. zjawisko Rungego.
Potwierdzenie faktu, że wielomian interpolacyjny nie musi być zbieżny do interpolowanej funkcji znajdziemy w przykładach przedstawionych przez Rungego
i Bernsteina oraz w ogólnym twierdzeniu Fabera.
Przykład Rungego [3]:
Niech ![]()
będzie wielomianem interpolacyjnym funkcji opartym na węzłach równoodległych z przedziału ![]()
![]()
![]()
. Funkcja ![]()
należy do ![]()
a mimo to ciąg jest zbieżny do ![]()
tylko dla i rozbieżny dla ... .
Przykład Bernsteina [9]:
Niech będzie wielomianem interpolacyjnym, który przybliża funkcję ![]()
w przedziale ![]()
w n równoodległych punktach. Wówczas ciąg wielomianów nie jest zbieżny do funkcji ![]()
w żadnym punkcie przedziału ![]()
oprócz punktów: −1, 0, 1, w których jest zbieżny do odpowiednich wartości funkcji ![]()
Twierdzenie Fabera [3]:
Dla dowolnego układu węzłów interpolacyjnych istnieje funkcja ciągła, do której ciąg jej wielomianów interpolacyjnych nie jest jednostajnie zbieżny.
Należy przy tym pamiętać, że zgodnie z twierdzeniem Weierstrassa dla każdej funkcji ciągłej ![]()
w przedziale ![]()
i dla każdego istnieją: taka liczba n i taki wielomian stopnia n, że
dla wszystkich x z przedziału ![]()
Wynika stąd, że dla dowolnej funkcji ![]()
ciągłej na odcinku ![]()
istnieje ciąg wielomianów interpolacyjnych, zbieżny do ![]()
jedno-stajnie na ![]()
Zarówno jednak powyższe twierdzenie, jak i twierdzenie Fabera nie są twierdzeniami konstruktywnymi, pozwalającymi na wyznaczanie odpowiednich ciągów wielomianów.
Jeżeli ![]()
to związek pomiędzy wartościami funkcji interpolowanej ![]()
i jej wielomianem interpolacyjnym jest następujący [2, 3, 14, 16]:
(4.33)
gdzie ![]()
a wielomian jest zdefiniowany wzorem (4.13). Analizując powyższy wzór widzimy, że jedynym czynnikiem na który mamy wpływ przy minimalizacji błędu interpolacji jest zachowanie się wielomianu
Wielomian interpolacyjny jest jednostajnie zbieżny do funkcji ![]()
przy dowolnym wyborze węzłów interpolacji w każdym skończonym przedziale ![]()
tylko dla funkcji całkowitej ![]()
, którą można przedstawić w postaci szeregu potęgowego [8, 16]
![]()
zbieżnego dla każdego x. Funkcja ![]()
może być też rozwijalna w szereg Taylora w otoczeniu punktu o promieniu zbieżności
178 4. Interpolacja
4.4. Zbieżność interpolacji wielomianowej 179