Upload
duongtu
View
214
Download
0
Embed Size (px)
Citation preview
3. Interpolacja
Interpolacja w sensie Lagrange'a (3.1)
Dana jest funkcja określona i ciągła w przedziale , która przyjmuje wartości dla skończonego zbioru argumentów tzn. dla
Zbiór argumentów nazywany jest węzłami interpolacji, przy czym zakłada się, że:
Powyższą funkcję nazywa się funkcją tabelaryczną ponieważ można ją określić podając tabelę:
i=0,1, , n.
y= f x [a ;b]y1 , y2 , , yn ,
x1 , x2 , , xn , y i= f xi{xi }, i=0,1, , n ,
a x1 , x2 , , xnb.
Interpolacja w sensie Lagrange'a (3.1.1)
Zagadnienie interpolacji w sensie Lagrange'a polega na znalezieniu funkcji należącej do pewnej określonej klasy funkcji, która w węzłach
interpolacji przyjmuje te same wartości co funkcja , tj.
dla
Funkcję nazywa się funkcją interpolującą, a - funkcją interpolowaną.
y=F x y= f x
F x i= yi i=0,1, , n.
y=F x y= f x
Interpolacja w sensie Lagrange'a (3.1.2)
Zagadnienie interpolacji wykorzystuje się najczęściej do wyznaczania przybliżonych wartości funkcji dla argumentów leżących pomiędzy węzłami interpolacji. W związku z tym funkcję interpolującą dobra się tak, aby jeśli to możliwe, dobrze przybliżała funkcję a następnie oblicza się wartość przyjmując, że
Wyznaczona ocena wartości obarczona jest błędem zwanym błędem interpolacji (błędem metody), który (jeśli istnieją ku temu możliwości) powinien również zostać oszacowany.
W zależności od wybranej klasy funkcji, zagadnienie interpolacji może mieć jedno rozwiązanie, wiele rozwiązań (nawet nieskończenie wiele) lub nie mieć rozwiązań wcale.
W dlalszej części przyjęto, że funkcja interpolująca jest wielomianem uogólnionym, tzn, funkcją postaci:
Gdzie: są funkcjami określonymi na przedziale , w którym tworzą układ liniowo niezależny nazywany bazą.
F x y=F x
y= f x x
y= f x
f (x)≈F (x).
f x R x= f x−F x
[a ;b]
F (x )=a0φ 0(x)+a1φ 1(x)+...+anφ n(x) .
φ 0(x) ,φ1(x) ,...φ n(x)
Interpolacja w sensie Lagrange'a (3.1.3)
Aby wielomian uogólniony stał się funkcją interpolującą, muszą zachodzić równości:
Równania powyższe tworzą układ równań liniowych z niewiadomymi . Jeśli wyznacznik główny układu jest różny od zera tj.:
istnieje wówczas jedno rozwiazanie, którym są poszukiwane współczynniki funkcji interpolującej .
n1
a0 , a1 , , an
a0 , a1 ,… , an
F (x0)=a0φ 0(x0)+a1φ 1(x0)+...+anφ n(x0)= y0 ,F (x1)=a0φ 0(x1)+a1φ 1(x1)+...+anφ n(x1)= y1 ,.............................................................................. ,F (xn)=a0φ 0(xn)+a1φ1(xn)+...+anφ n(xn)= yn .
∣φ 0(x0) φ 1(x0) ... φ n( x0)φ0(x1) φ 1(x1) ... φ n(x1)... ... ... ...
φ 0(xn) φ 1(xn) ... φ n(xn)∣≠0 ,
Wzór Lagrange'a (3.2)
Niech bazę funkcji interpolujących stanowi zbiór jednomianów:
które tworzą układ liniowo niezależny dla , wówczas funkcja przyjmuje postać zwykłego wielomianu
a układ równań przyjmuje postać:
Wyznacznik macierzy głównej układu jest wyznacznikiem Vandermonda ------>
W praktyce metoda powyższa jest rzadko stosowana ze wzgędu na czesto występujące złe uwarunkowanie zadania.
φ 0(x)=1,φ 1(x)= x ,... ,φ n(x )=xn
F (x )=a0+a1 x+...+an xn
−∞<x<+∞
∣1 x0 ... x0n
1 x1 ... x1n
... ... ... ...1 xn ... xn
n∣=∏i> j
(x i−x j)≠0
a0+a1 x0+a2 x02+...+an x0
n= y0 ,a0+a1 x1+a2 x1
2+...+an x1n= y1 ,
................................................. ,a0+a1 xn+a2 xn
2+...+an xnn= yn .
Wzór Lagrange'a (3.2.1)
Do częściej stosowanych funkcji interpolacyjnych należy wielomian interpolacyjny Lagrange'a
W praktyce wykorzystuje się inną postać wielomianu, wymagającą mniejszej liczby operacji arytmetycznych:
gdzie
Można pokazać, że wielomian Lagrange'a jest wielomianem stopnia conajwyżej i że błąd uzyskiwany przy jego wykorzystaniu do interpolacji spełnia nierówność
gdzie
n
Wzór Lagrange'a (3.2.2)
Przykład: Odczytane wartości temperatury zestawiono w tabeli:
Należy okereślić temperaturę o godzinie 14:30.
Rozwiązanie: Do obliczenia zastosowano drugi wzór Lagrange'a.
Stąd otrzymano:
T 14,5
Wzór Lagrange'a (3.2.4)
Odpowiedź: O godzinie 14:30 temperatura była w przybliżeniu równa 21,6 oC. Nie można ocenić błędu wyznaczonej temperatury, ponieważ nie jest znana 5 pochdna funkcji czyli T t T 5 t .
Wzór Lagrange'a (3.2.5)
Uwaga: Chcąc zminimalizować błąd interpolacji w przedziale , węzły interpolacji powinny być zerami wielomianu Czebyszewa pierwszego rodzaju i wyrażać się wzorami:
W tym przypadku błąd interpolacji jest równy:
[a ;b]x1 , x2 , , xn
Interpolacja Czebyszewa (3.3)
Jeśli za zbiór funkcji bazowych przyjmie się wielomiany Czebyszewa pierwszego rodzaju określone wzorami:
funkcja interpolująca przyjmie postać
Wspólczynniki wyznacza się rozwiązująć układ równań
Uogólniony wielomian interpolacyjny z obliczonymi współczynnikami nosi nazwę wielomianu interpolacjnego Czebyszewa.
a0 , a1 , , an
F x a0 , a1 , , an
Interpolacja Czebyszewa (3.3.1)
Uwagi: Wielomiany Czebyszewa pierwszego rodzaju są określone na przedziale Jeśli interpoluje się funkcję w przedziale to trzeba dokonać podstawienia . Interpolacji poddana zostanie funkcja powiązana z funkcją zależnością:
Interpolacja Czebyszewa jest mniej wrażliwa na błędy zaokrągleń od interpolacji z użyciem wzoru Lagrange'a.
Przykład: Odczytane wartości temperatury zestawiono w tabeli:
Korzystając z wielomianu interpolacyjnego Czebyszewa określić temperaturę o godzinie 14:30.
[−1 ;1] .[a ;b]
y= f t t=ab/2[b−a/2] x
f 1x = f ab/2[b−a / 2] x
f 1x f t
Interpolacja Czebyszewa (3.3.2)
Rozwiązanie: Ponieważ w przykładzie występuje 5 węzłów interpolacyjnych ( ), należy wyznaczyć pięć wielomianów bazowych o rzędach od 0 do 4:
gdzie
Funkcja interpolowana określona jest w przedziale zatem wielomian interpolacyjny musi zostać przeskalowany za pomocą zależności:
(jest to wyrażenie odwrotne do omawianego na poprzedniej stronie). Funkcja będzie więc interpolowana wielomianem,
n1=5
−1x1.
n1=5
[a ;b]=[12 ;16]
T=T t
Interpolacja Czebyszewa (3.3.3)
Współczyniki należy obliczyć rozwiązując układ równań liniowych:
Układ ten po podstawieniu danych przyjmuje postać
Rozwiązaniem układu równań są wspólczynniki wielomianu
Ponieważ dla stąd
Odpowiedź: O godz. 14:30 temperatura była w przybliżenu równa 21,6 oC.
a0 , a1 , , an
t=14,5x=14,5/2−7=0,25
Interpolacja trygonometryczna (3.4)
W wielu przypadkach konieczna jest interpolacja funkcji okresowej O funkcji takiej zakłada się, że jest okresowa o okresie głównym lub w przypadku ogólniejszym . Ponieważ jako bazę funkcji stosuje się funkcje trygonometryczne postaci
których okresem głównym jest przedział (lub jego całkowite ''wielokrotności'') w przypadku okresu głownego konieczne jest przeskalowanie przedziału za pomocą zależności
Funkcja interpolująca jest wielomianem trygonometrycznym o postaci
Przy czym (liczba węzłów interpolacji jest równa ). Współczynniki wyznacza się rozwiązując układ równań
y= f t .[0 ;2]
[a ;b]
[0 ;2][a ;b]
n=2ma0 , a1 , b1… , am , bm
F (x )=a02
+∑k=1
m
(ak cos (k x)+bksin (k x)).
n+1
Interpolacja trygonometryczna (3.4.1)
W praktyce najważniejszy jest przypadek, gdy węzły interpolacji są równoodległe tj.
W tym przypadku macierz główna układu równań pomnożona przez staje się macierzą ortogonalną. Dzięki temu można podać bezpośrednie wzory na obliczanie współczynników 2/2m1
a0 , a1 , b1… , am , bm.
Interpolacja w przypadku węzłów równoodległych (3.5)
Obecnie analizowany będzie przypadek, gdy argumenty funkcji dyskretnej
są rozmieszczone w równych odstępach, tzn.
Omówione poniżej wzory interpolacyjne wykorzystują pojęcie różnicy skończonej.
Różnicą skończoną progresywną rzędu pierwszego dla argumentu
nazywa się różnicę
Różnice skończone progresywne rzędu definiuje się rekurencyjnie
x i+1−x i=h=const dla i=0,1 , ... , n−1.
x i
Δ yi= f (xi+h)− f (x i)= y i+1− y i dla i=0,1 ,... , n−1.
k+1
Δk+1 y i=Δ(Δk y i)=Δk y i+1−Δk y i dla i=0,1 , ... , n−k.
Interpolacja w przypadku węzłów równoodległych (3.5.1)
Wzór Stirlinga
Numerując węzły interpolacji oraz oznaczając
Wzór interpolacyjny Stirlinga rozpięty na węzłach
wyraża zależność:
Błąd interpolacji wynikający z użycia wzoru Stirlinga jest w przybliżeniu równy:
... , x−2 , x−1 , x0, x1, x2, ...
q=x−x0h
.x−m ,... , x−2 , x−1 , x0, x1, x2, ... xm
S2m (x)= y0+q⋅Δ y−1+Δ y0
2+q2
2 !⋅Δ2 y−1+
q(q2−12)3!
⋅Δ3 y−2+Δ3 y−1
2+...+
+q(q2−12)(q2−22)⋅...⋅(q2−(m−1)2)
(2m−1)!⋅Δ2m−1 y−m+Δ2m−1 y−m+1
2
+q(q2−12)(q2−22)⋅...⋅(q2−(m−1)2)
(2m)!⋅Δ2m y−m .
R2m (x)= f (x)−S 2m(x )=
=q (q2−12)(q2−22)⋅...⋅(q2−m2)
(2m+1) !⋅Δ2m+1 y−m−1+Δ2m+1 y−m
2.
Interpolacja w przypadku węzłów równoodległych (3.5.2)
Przykład: Znane są nastepujące wartości funkcji
Obliczyć z dokładnością
Tabela: Różnice
skończone funkcji
y= f (x) :
y= f (0,5) ε=10−5 .
y= f (x)
Interpolacja w przypadku węzłów równoodległych (3.5.3)
Rozwiązanie: Do obliczenia przybliżonej wartości zostanie
zastosowany wzor Stirlinga. Pierwszym etapem bedzie takie ponumerowanie
węzłów interpolacji aby węzeł znajdował się w pobliżu argumentu
dla którego szukana jest przybliżona wartość funkcji. Dzięki temu współczynnik
, gdzie
przyjmie małą wartość, stąd kolejne składniki wzoru Stirlinga będą szybko malały
— stąd do wyznaczenia wartości z zadaną dokładnością we wzorze
interpolacyjnym wystarczy wziąć pod uwagę tylko kilka początkowych składników.
W tabeli zamieszczonej na poprzediej stronie zestawiono różnice skończone
do rzędu szóstego. Tłustym drukiem zostały wyróżnione liczby, które wystąpią we
wzorze Stirlinga. W kolejnych iteracjach algo-
rytmu należy wyznaczać oraz sprawdzać
warunek końca obliczeń
y= f (0,5)
x0 x=0,5 ,
q=( x−x0)/h=0,5−0,60,2
=−0,5
S2m(x ) ε
h=x i+1−x i=0,2 , i=−3, ...,0 , ...,5 ,
S2k (x)
k
∣R2k (x)∣<ε .
Interpolacja w przypadku węzłów równoodległych, I wzór Newtona (3.5.4)
Numerując węzły interpolacji oraz oznaczając podobnie jak we
wzorze Stirlinga Pierwszy wzór interpolacyjny Newtona
rozpięty na węzłach wyraża zależność:
Błąd interpolacji wynikający z użycia pierwszego wzoru Newtona jest w
przybliżeniu równy:
Przykład: Znane są nastepujące wartości funkcji
Obliczyć z dokładnością
x0, x1,... , xnq=( x−x0)/h .
x0, x1,... , xn
P ' n(x)= y0+q⋅Δ y0+q(q−1)2!
⋅Δ2 y0+q (q−1)(q−2)
3 !⋅Δ3 y0+...
+q (q−1)⋅...⋅(q−n+1)
n !⋅Δn y0 .
R' k (x)= f (x)−P ' k (x)=q(q−1)(q−2)⋅...⋅(q−k )
(k+1)!⋅Δk+1 y0.
y= f (0,1) ε=10−5 .
y= f (x) :
Interpolacja w przypadku węzłów równoodległych, I wzór Newtona (3.5.5)
Rozwiązanie: Do obliczenia przybliżonej wartości zostanie zasto-
sowany pierwszy wzór interpolacyjny Newtona. Węzły interpolacji należy tak
ponumerować, aby węzeł znajdował się w pobliżu argumentu stąd
przyjmuje się daje to:
W tabeli poniżej zestawiono różnice skończone (tłustym drukiem zostały wyróż-
nione liczby, które wystąpią w pierwszym wzorze interpolacyjnym Newtona).
y= f (0,1)
x0 x=0,1 ,
x0=0, x1=0,2 ,... , x8=1,6 , q=(0,0−0,1)/0,2=−0,5.
Interpolacja w przypadku węzłów równoodległych, I wzór Newtona (3.5.6)
Wartość obliczamy iteracyjnie sprawdzając w każdym kroku, czy
spełniony jest warunek ∣R' k (0,1)∣<ε .
P ' k (0,1)
Interpolacja w przypadku węzłów równoodległych, II wzór Newtona (3.5.7)
Węzły interpolacji numerujemy podobnie jak w pierwszym wzorze interpolacyjnym
Newtona jednak przez oznaczamy
Drugi wzór interpolacyjny Newtona rozpięty na węzłach wyraża
zależność:
Błąd interpolacji wynikający z użycia pierwszego wzoru Newtona jest w
przybliżeniu równy:
Przykład: Znane są nastepujące wartości funkcji
Obliczyć z dokładnością
x0, x1,... , xn q q=( x−xn)/h .
x0, x1,... , xn
P ' ' n(x )= yn+q⋅Δ yn−1+q(q+1)2 !
⋅Δ2 yn−2+q (q+1)(q+2)
3 !⋅Δ3 y y−3+...
+q(q+1)⋅...⋅(q+n−1)
n !⋅Δn y0 .
R' ' k (x)= f (x )−P ' ' k (x )=q(q+1)(q+2)⋅...⋅(q+k )
(k+1)!⋅Δk+1 yn−(k+1).
y= f (1,5) ε=10−5 .
y= f (x) :
Interpolacja w przypadku węzłów równoodległych, II wzór Newtona (3.5.8)
Rozwiązanie: Do obliczenia przybliżonej wartości zostanie zasto-
sowany drugi wzór interpolacyjny Newtona. Węzły interpolacji należy tak ponume-
rować, aby węzeł znajdował się w pobliżu argumentu stąd
przyjmuje się daje to:
W tabeli poniżej zestawiono różnice skończone (tłustym drukiem zostały wyróż-
nione liczby, które wystąpią w drugim wzorze interpolacyjnym Newtona).
y= f (1,5)
xn= x8=1,6 x=1,5 ,
x0=0, x1=0,2 ,... , x8=1,6 , q=(1,5−1,6)/0,2=−0,5 .