Interpolacja Newtona z optymalizacją położeń węzłów
Tomasz Chwiej 17 kwietnia 2018
1 Wstęp
Dla funkcji
f (x) = 1
1 + x2 (1)
należy przeprowadzić interpolację wielomianową Newtona. Wzór interpolacyjny zapiszemy w postaci:
Wn(x) =
∑n
j=0
f(j)(x0)· Πji=0−1(x− xi) (2) gdzie: f(j)(x0) to iloraz rzędu j liczony dla węzła x0, a xi są położeniami węzłów.
Wartości ilorazów różnicowych wyznaczamy zgodnie z poniższą (prawą) tabelką
y0 0 0 0 0 0
y1 fx(1)0,... 0 0 0 0 y2 fx(1)1 fx(2)0 0 0 0 y3 fx(1)2 fx(2)1 fx(3)0 ‘ 0 0 . . . . . . . . . . . . . .. 0 yn fx(1)n−1 fx(2)n−2 fx(3)n−3 . . . fx(n)0
=⇒
f0,0 0 0 0 0 0
f1,0 f1,1 0 0 0 0
f2,0 f2,1 f2,2 0 0 0 f3,0 f3,1 f3,2 f3,3 0 0 . . . . . . . . . . . . . .. 0 fn,0 fn,1 fn,2 fn,3 . . . fn,n
(3)
gdzie: zerowa kolumna (yi) to wartości funkcji w węzłach, a elementy fj,j to ilorazy różnicowe rzędu j występujące we wzorze (2).
Do wyznaczenia prawej tabelki użyjemy pseudokodu
f or(j = 1; j <= n; j + +){ f or(i = j; i <= n; i + +){
fi,j = fi,j−1− fi−1,j−1
xi − xi−j ; }
}
Mając wartości ilorazów różnicowych możemy zastosować wzór interpolacyjny (2) do wyzna- czenia przybliżonych wartości funkcji w przedziale [xmin, xmax]
1
2 Zadania do wykonania
1. Węzły indeksujemy i = 0, 1, 2, . . . , n. Interpolację wykonujemy kolejno dla n = 5, 10, 15, 20.
2. Dla przedziału x∈ [−5, 5], określamy liczbę węzłów jako n+1, ustalamy położenia węzłów (równoodległe) i wyznaczamy wartości funkcji (1) w węzłach.
3. Wyznaczamy niezerowe elementy prawej tabelki (3).
4. Dla każdego n sporządzamy wykresy funkcji f (x) i wielomianu interpolacyjnego Wn(x) na jednym rysunku.
5. Punkty 1-4 powtarzamy dla zoptymalizowanych położeń węzłów (podmieniamy tylko in- strukcję określającą położenia węzłów)
xi = 1 2
[
(xmin− xmax) cos
(
π2i + 1 2n + 2
)
+ (xmin+ xmax)
]
, i = 0, 1, . . . , n (4) które są zerami wielomianów Czebyszewa.