26
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 ] y 1 ,y 2 , ,y n , x 1 ,x 2 , ,x n , y i = f x i { x i } ,i =0, 1, ,n, a x 1 ,x 2 , ,x n b.

3. Interpolacja - eti.pg.edu.pl · Interpolacja w sensie Lagrange'a (3.1.2) Zagadnienie interpolacji wykorzystuje się najczęściej do wyznaczania przybliżonych wartości funkcji

  • 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.3)

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 .

Interpolacja w przypadku węzłów równoodległych, II wzór Newtona (3.5.9)

Wartość obliczamy iteracyjnie sprawdzając w każdym kroku, czy

spełniony jest warunek

P ' ' k (1,5)

∣R' ' k (1,5)∣<ε .