Metody numeryczne i statystyka dla inzynierów

Transkrypt

Metody numeryczne i statystyka dla inzynierów
Metody numeryczne i statystyka dla in»ynierów
Kierunek: Automatyka i Robotyka, II rok
Interpolacja
Bartosz Kuczewski
PWSZ Gªogów, 2009
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja
Okre±lenie zale»no±ci pomi¦dzy interesuj¡cymi nas wielko±ciami,
Umo»liwia uproszczenie skomplikowanych funkcji (np.
wykorzystywana w procedurach caªkowania numerycznego),
Wykorzystywana w naukach do±wiadczalnych, gdy dysponujemy
niewielk¡ liczb¡ danych,
Deterministyczna metoda opisu zjawisk (w opozycji do podej±cia
statystycznego).
Graka komputerowa (szczególnie 3D)
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - idea
Mniej formalna denicja
Rozwi¡» zadanie interpolacji tzn. odkryj zale»no±¢ która pozwala
wytªumaczy¢ warto±ci obserwowane w danych.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - idea
Mniej formalna denicja
Rozwi¡» zadanie interpolacji tzn. odkryj zale»no±¢ która pozwala
wytªumaczy¢ warto±ci obserwowane w danych.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - denicja
Denicja matematyczna
Maj¡c zbiór danych w postaci n + 1 tzw. w¦zªów {xi , yi }ni=0 , nale»y
wyznaczy¢ przybli»one warto±ci w punktach nieb¦d¡cych w¦zªami
interpolacji oraz oszacowa¢ bª¦dy takiego przybli»enia.
xi
yi
- w¦zªy interpolacji, punkty
- warto±ci dla w¦zªów (punktów)
Maj¡c dan¡ klas¦ funkcji G szukamy takiego g (x , a0 , a1 , . . . , an ) ∈ G aby
g (xi , a0 , . . . , an ) = yi , , i = 0, 1, . . . , n
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - idea
yn
g
y2
y1
y0
x0 x1
Bartosz Kuczewski
x2
xn
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - przykªad
Dane: Gªówny Urz¡d Statystyczny
Lata
2000
2001
2002
2003
2004
2005
Liczba rozwodów
1537
1546
1479
1552
1968
2567
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - przykªad
Jak powinna wygl¡da¢ krzywa opisuj¡ce dane ?
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - przykªad
... tak
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - przykªad
a mo»e tak ?
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - przykªad
a mo»e jednak tak ?
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Rodzaje interpolacji
Nieparmetryczne
(bazuj¡ce na danych):
algorytm najbli»szego s¡siada
(niezb¦dna identykacja parametryczna)
liniowa (g (xi , a0 , . . . , an ) = a0 + a1 g1 (x ) + a2 g2 (x ) + . . . + an gn (x ))
Parametryczne
wielomianowa (w tym w. liniowa, w. kwadratowa, ...):
trygonometryczna:
g (x ) = e ,
jix
i
√
j = −1
g (x ) = x
i
i
nieliniowa
np. wymierna:
g (x , a0 , . . . , a , b0 , . . . , b ) =
n
m
a0 + a1 x + a2 x 2 + . . . + a x
b0 + b1 x + b2 x 2 + . . . + b x
n
n
m
m
funkcjami sklejanymi (ang. spline): w¦zªy interpolacji dziel¡
przedziaª interpolacji na podprzedziaªy; w ka»dym podprzedziale
przybli»amy funkcje interpolowan¡ wielomianem niskiego stopnia,
np. n=3 (najpro±ciej - interpolacja liniowa - dla n=1)
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Rodzaje interpolacji
Nieparmetryczne
(bazuj¡ce na danych):
algorytm najbli»szego s¡siada
(niezb¦dna identykacja parametryczna)
liniowa (g (xi , a0 , . . . , an ) = a0 + a1 g1 (x ) + a2 g2 (x ) + . . . + an gn (x ))
Parametryczne
wielomianowa (w tym w. liniowa, w. kwadratowa, ...):
trygonometryczna:
g (x ) = e ,
jix
i
√
j = −1
g (x ) = x
i
i
nieliniowa
np. wymierna:
g (x , a0 , . . . , a , b0 , . . . , b ) =
n
m
a0 + a1 x + a2 x 2 + . . . + a x
b0 + b1 x + b2 x 2 + . . . + b x
n
n
m
m
funkcjami sklejanymi (ang. spline): w¦zªy interpolacji dziel¡
przedziaª interpolacji na podprzedziaªy; w ka»dym podprzedziale
przybli»amy funkcje interpolowan¡ wielomianem niskiego stopnia,
np. n=3 (najpro±ciej - interpolacja liniowa - dla n=1)
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja - Matlab
Polecenie
yi = interp1(x,y,xi,Metoda);
x - w¦zªy interpolacji,
y - warto±ci w w¦zªach,
xi - punkty, w których chcemy wyznaczy¢ warto±ci po wykonaniu
interpolacji,
yi - warto±ci w punktach xi,
Metoda - dost¦pne:
nearest, linear,spline,pchip,cubic,v5cubic
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Algorytm najbli»szego s¡siada
Zasada post¦powania
Je±li chcemy wyznaczy¢ warto±¢ y ∗ w nowym (nieb¦d¡cym w¦zªem
interpolacji) punkcie x ∗ , to znajd¹ najbli»szy mu punkt w danych i
przyjmij jego warto±¢.
Wady i zalety
nie trzeba budowa¢ modelu - maªy nakªad obliczeniowy
wykorzystywana w przypadku interpolacji wielowymiarowej
maªo realistyczne zaªo»enie o lokalnej niezmienno±ci zjawisk
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Algorytm najbli»szego s¡siada
Zasada post¦powania
Je±li chcemy wyznaczy¢ warto±¢ y ∗ w nowym (nieb¦d¡cym w¦zªem
interpolacji) punkcie x ∗ , to znajd¹ najbli»szy mu punkt w danych i
przyjmij jego warto±¢.
Wady i zalety
nie trzeba budowa¢ modelu - maªy nakªad obliczeniowy
wykorzystywana w przypadku interpolacji wielowymiarowej
maªo realistyczne zaªo»enie o lokalnej niezmienno±ci zjawisk
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja metod¡ najbli»szego s¡siada
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja liniowa
Zasada post¦powania
Warto±¢ y ∗ punkcie x ∗ le»y na prostej ª¡cz¡cej warto±ci w w¦zªach,
pomi¦dzy którymi le»y x ∗ .
Denicja matematyczna
y ∗ = ya +
dla
xa ≤ x ∗ ≤ xb
(x ∗ − xa )(yb − ya )
xb − xa
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja liniowa
Zasada post¦powania
Warto±¢ y ∗ punkcie x ∗ le»y na prostej ª¡cz¡cej warto±ci w w¦zªach,
pomi¦dzy którymi le»y x ∗ .
Denicja matematyczna
y ∗ = ya +
dla
xa ≤ x ∗ ≤ xb
(x ∗ − xa )(yb − ya )
xb − xa
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja liniowa
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja liniowa
Wady i zalety
najprostszy z grupy modeli wielomianowych
nie trzeba estymowa¢ parametrów - bardzo szybkie obliczenia
nieró»niczkowalno±¢ funkcji interpoluj¡cej w w¦zªach interpolacji
zwykle powoduje du»e bª¦dy
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji - interpolacja liniowa
Zaªó»my, »e istnieje zale»no±¢ pomi¦dzy zmiennymi {xi , yi }, któr¡ mo»na
opisa¢ za pomoc¡ funkcji g : R → R, tzn. yi = g (xi ), a która to funkcja
posiada ci¡gª¡ drug¡ pochodn¡. Je±li mamy dane dwa s¡siednie w¦zªy
interpolacji ya = g (xa ) oraz yb = g (xb ), bª¡d jaki mo»emy popeªni¢,
chc¡c oszacowa¢ warto±¢ funkcji g (·) w punkcie x ∗ ∈ (xa , xb ) wynosi:
|y ∗ − g (x ∗ )| ≤ C (xb − xa )2 ,
gdzie
C
= 1/8 max
x ∈(xa ,xb )
g (x )
00
Wnioski
czym wi¦ksza odlegªo±¢ mi¦dzy w¦zªami, tym wi¦kszy bª¡d
(zale»no±¢ kwadratowa) !!!
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji - interpolacja liniowa
Zaªó»my, »e istnieje zale»no±¢ pomi¦dzy zmiennymi {xi , yi }, któr¡ mo»na
opisa¢ za pomoc¡ funkcji g : R → R, tzn. yi = g (xi ), a która to funkcja
posiada ci¡gª¡ drug¡ pochodn¡. Je±li mamy dane dwa s¡siednie w¦zªy
interpolacji ya = g (xa ) oraz yb = g (xb ), bª¡d jaki mo»emy popeªni¢,
chc¡c oszacowa¢ warto±¢ funkcji g (·) w punkcie x ∗ ∈ (xa , xb ) wynosi:
|y ∗ − g (x ∗ )| ≤ C (xb − xa )2 ,
gdzie
C
= 1/8 max
x ∈(xa ,xb )
g (x )
00
Wnioski
czym wi¦ksza odlegªo±¢ mi¦dzy w¦zªami, tym wi¦kszy bª¡d
(zale»no±¢ kwadratowa) !!!
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Szacowanie bª¦du interpolacji liniowej
Przykªad
funkcja g (x ) = x 2 ,
g (x ) = 2
w¦zªy interpolacji xa = 0, xb = 2, (ya = 0,yb = 4)
00
Maksymalny bª¡d interpolacji liniowej wynosi zatem:
C
=
1
8
max
x ∈(xa ,xb )
g (x ) =
00
1
4
a wi¦c maksymalny bª¡d wynosi:
|y ∗ − g (x )| ≤ C (xb − xa )2 = 1
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Szacowanie bª¦du interpolacji liniowej
4.5
4
3.5
wezly interpolacji
Funkcja interpolowana
Interpolacja liniowa
Blad interpolacji
3
2.5
2
1.5
1
0.5
0
−0.5
−0.5
0
0.5
Bartosz Kuczewski
1
1.5
2
2.5
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa
Sformuªowanie problemu
Maj¡c dane w¦zªy x0 , x1 , . . . , xn oraz odpowiadaj¡ce im warto±ci
y0 , y1 , . . . , yn , znale¹¢ wielomian
Wm (x ) = a0 + a1 x + a2 x 2 + . . . + am x m ,
taki »e
Wm (xi ) = yi , dla i = 0, 1, . . . , n.
Twierdzenie (o jednoznaczno±ci interpolacji wielomianowej)
Istnieje dokªadnie jeden wielomian interpolacyjny stopnia co najwy»ej n,
który w punktach x0 , x1 , . . . , xn przyjmuje warto±ci y0 , y1 , . . . , yn .
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa
Sformuªowanie problemu
Maj¡c dane w¦zªy x0 , x1 , . . . , xn oraz odpowiadaj¡ce im warto±ci
y0 , y1 , . . . , yn , znale¹¢ wielomian
Wm (x ) = a0 + a1 x + a2 x 2 + . . . + am x m ,
taki »e
Wm (xi ) = yi , dla i = 0, 1, . . . , n.
Twierdzenie (o jednoznaczno±ci interpolacji wielomianowej)
Istnieje dokªadnie jeden wielomian interpolacyjny stopnia co najwy»ej n,
który w punktach x0 , x1 , . . . , xn przyjmuje warto±ci y0 , y1 , . . . , yn .
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa - przykªad
Przykªad
Spróbujmy dopasowa¢ wielomian stopnia pi¡tego, tj.
W5 (x ) = a0 + a1 x + a2 x 2 + a3 x 3 + a4 x 4 + a5 x 5 ,
do danych:
i
0
1
2
3
4
5
xi
2000
2001
2002
2003
2004
2005
Bartosz Kuczewski
yi
1537
1546
1479
1552
1968
2567
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa - przykªad c.d.
Przykªad c.d.
Jak wyznaczy¢ wspóªczynniki wielomianu {ai }5i =0 ? - wielomian musi
przechodzi¢, przez dane punkty, czyli:
a0 + a1 2000 + a2 20002 + a3 20003 + a4 20004 + a5 20005 = 1537
a0 + a1 2001 + a2 20012 + a3 20013 + a4 20014 + a5 20015 = 1546
a0 + a1 2002 + a2 20022 + a3 20023 + a4 20024 + a5 20025 = 1479
a0 + a1 2003 + a2 20032 + a3 20033 + a4 20034 + a5 20035 = 1552
a0 + a1 2004 + a2 20042 + a3 20043 + a4 20044 + a5 20045 = 1968
a0 + a1 2005 + a2 20052 + a3 20053 + a4 20054 + a5 20055 = 2567,
tzw.
macierz Vandermonde'a.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa - przykªad c.d.
Przykªad c.d.
Problem sprowadza si¦ do rozwi¡zania ukªadu równa« liniowych, t.j.
Xa
gdzie:




X = 



1
1
1
1
1
1
x0
x1
x2
x3
x4
x5
x02
x12
x22
x32
x42
x52
x03
x13
x23
x33
x43
x53
x04
x14
x24
x34
x44
x54
x05
x15
x25
x35
x45
x55
= y,












a = 



Bartosz Kuczewski
a0
a1
a2
a3
a4
a5












y = 



Metody numeryczne i statystyka dla in»ynierów
y0
y1
y2
y3
y4
y5








Interpolacja wielomianowa - przykªad c.d. - rozwi¡zanie
Przykªad c.d.
Ogólny sposób rozwi¡zywania ukªadów równa« liniowych:
a
= X−1 y,
Matlab: X = vander(x); a = inv(X) * y;
Rozwi¡zanie:


1537

52.25 


 −6.125 


a =
 −62.8333 


 28.6250 
−2.9167
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja wielomianowa - przykªad c.d. - wyniki
2600
2400
2200
2000
1800
1600
1400
1200
2000
2001
2002
Bartosz Kuczewski
2003
2004
2005
Metody numeryczne i statystyka dla in»ynierów
Interpolacja Lagrange'a
Wprowadzenie
Wielomian
Wn (x ) mo»na przedstawi¢ w alternatywnej postaci:
Wn (x ) = y0 Φ0 (x ) + y1 Φ1 (x ) + . . . + yn Φn (x ),
gdzie Φj (x ) s¡ wielomianami stopnia co najwy»ej n.
0, gdy j 6= i
Φj (xi ) =
1, gdy j = i
Rozwi¡zanie
Φj (x ) =
(x − x0 )(x − x1 ) . . . (x − xj −1 )(x − xj +1 ) . . . (x − xn )
,
(xj − x0 )(xj − x1 ) . . . (xj − xj −1 )(xj − xj +1 ) . . . (xj − xn )
Inaczej:
Ln (x ) =
n
X
yj Φj (x ) =
j =0
Bartosz Kuczewski
n
X
j =0
yj
n
Y
i =0
i 6= j
x − xi
xj − xi
Metody numeryczne i statystyka dla in»ynierów
Interpolacja Lagrange'a
Wprowadzenie
Wielomian
Wn (x ) mo»na przedstawi¢ w alternatywnej postaci:
Wn (x ) = y0 Φ0 (x ) + y1 Φ1 (x ) + . . . + yn Φn (x ),
gdzie Φj (x ) s¡ wielomianami stopnia co najwy»ej n.
0, gdy j 6= i
Φj (xi ) =
1, gdy j = i
Rozwi¡zanie
Φj (x ) =
(x − x0 )(x − x1 ) . . . (x − xj −1 )(x − xj +1 ) . . . (x − xn )
,
(xj − x0 )(xj − x1 ) . . . (xj − xj −1 )(xj − xj +1 ) . . . (xj − xn )
Inaczej:
Ln (x ) =
n
X
yj Φj (x ) =
j =0
Bartosz Kuczewski
n
X
j =0
yj
n
Y
i =0
i 6= j
x − xi
xj − xi
Metody numeryczne i statystyka dla in»ynierów
Interpolacja Lagrange'a
Wprowadzenie
Wielomian
Wn (x ) mo»na przedstawi¢ w alternatywnej postaci:
Wn (x ) = y0 Φ0 (x ) + y1 Φ1 (x ) + . . . + yn Φn (x ),
gdzie Φj (x ) s¡ wielomianami stopnia co najwy»ej n.
0, gdy j 6= i
Φj (xi ) =
1, gdy j = i
Rozwi¡zanie
Φj (x ) =
(x − x0 )(x − x1 ) . . . (x − xj −1 )(x − xj +1 ) . . . (x − xn )
,
(xj − x0 )(xj − x1 ) . . . (xj − xj −1 )(xj − xj +1 ) . . . (xj − xn )
Inaczej:
Ln (x ) =
n
X
yj Φj (x ) =
j =0
Bartosz Kuczewski
n
X
j =0
yj
n
Y
i =0
i 6= j
x − xi
xj − xi
Metody numeryczne i statystyka dla in»ynierów
Interpolacja Lagrange'a - przykªad
Znale¹¢ wielomian interpolacyjny Lagrange'a dla danych:
xi
i
0
1
2
yi
-1
1
3
2
0
2
Zgodnie ze wzorem mamy:
L2 (x ) =
2
X
yj Φj (x ) =
j =0
2
X
yj
j =0
x −1 x −3
·
+0 ·
2·
−2
−4
|
{z
} |
2
Y
i =0
i 6= j
x +1 x −3
( j = 0)
1
2
2
x
−x+
x − xi
xj − xi
·
2
{z
(j =1)
−2
=
+2 ·
} |
x +1 x −1
4 {z
·
( j = 2)
2 }
1
2
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
=
Wzór interpolacyjny Newtona
Iloraz ró»nicowy 1-go rz¦du:
f [xi , xi +1 ] =
f (xi +1 ) − f (xi )
xi +1 − xi
Iloraz ró»nicowy k-go rz¦du:
f [xi , xi +1 , . . . , xi +k ] =
f [xi +1 , xi +2 , . . . , xi +k ] − f [xi , xi +1 , . . . , xi +k −1 ]
xi +k − xi
Ci¡g ilorazów ró»nicowych:
x0 f (x0 )
x1 f (x1 )
x2 f (x2 )
f [x0 , x1 ]
f [x1 , x2 ]
Bartosz Kuczewski
f [x0 , x1 , x2 ]
Metody numeryczne i statystyka dla in»ynierów
Wzór interpolacyjny Newtona
Wielomian interpolacyjny Newtona
Qn (x ) =f (x0 ) +
n
X
f [x0 , . . . , xj ]
j =1
jY
−1
(x − xk ) =
k =0
Qn−1 (x ) + f [x0 , . . . , xn ]
nY
−1
(x − xk )
k =0
Przykªad - znale¹¢ wielomian interpolacyjny Newtona dla danych:
i
0
1
2
Bartosz Kuczewski
xi
-1
1
3
yi
2
0
2
Metody numeryczne i statystyka dla in»ynierów
Wzór interpolacyjny Newtona
Wielomian interpolacyjny Newtona
Qn (x ) =f (x0 ) +
n
X
f [x0 , . . . , xj ]
j =1
jY
−1
(x − xk ) =
k =0
Qn−1 (x ) + f [x0 , . . . , xn ]
nY
−1
(x − xk )
k =0
Przykªad - znale¹¢ wielomian interpolacyjny Newtona dla danych:
i
0
1
2
Bartosz Kuczewski
xi
-1
1
3
yi
2
0
2
Metody numeryczne i statystyka dla in»ynierów
Wielomian interpolacyjny Newtona - przykªad
Zgodnie ze wzorem mamy:
Q2 (x ) =f (x0 ) +
2
X
f [x0 , . . . , xj ]
j =1
jY
−1
(x − xk ) =
k =0
f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
Ilorazy ró»nicowe:
f (x1 ) − f (x0 ) 0 − 2
=
= −1
x1 − x0
1+1
f (x ) − f (x1 ) 2 − 0
f [x1 , x2 ] = 2
=
=1
x2 − x1
2−0
f [x , x ] − f [x0 , x1 ] 1 + 1
f [x0 , x1 , x2 ] = 1 2
=
x2 − x0
3+1
f [x0 , x1 ] =
=
1
2
Zatem:
Q2 (x ) = 2 − 1(x + 1) −
1
(x + 1)(x − 1) =
2
Bartosz Kuczewski
1
2
x
2
−x+
1
2
Metody numeryczne i statystyka dla in»ynierów
Wielomian interpolacyjny Newtona - przykªad
Wersja iteracyjna:
1
Y
Q2 (x ) = Q1 (x ) + f [x0 , x1 , x2 ]
(x − xk ) =
k =0
Q1 (x ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
Q1 (x ) = Q0 (x ) + f [x0 , x1 ]
0
Y
(x − xk ) =
k =0
Q0 (x ) + f [x0 , x1 ](x − x0 )
Q0 (x ) = f (x0 ) = 2
Zatem po podstawieniu:
Q1 (x ) = 2 − 1(x + 1) = 1 − x
1
1
1
(x − 1)(x + 1) = x2 − x +
2
2
2
Zaleta: po dodaniu nowego w¦zªa (x3 , f (x3 )) mo»na wykorzysta¢
2
Q
wystarczy doliczy¢ f [x0 , x1 , x2 , x3 ]
(x − xk )
Q2 (x ) = (1 − x ) +
Q2 (x ) k =0
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Wielomian interpolacyjny Newtona - przykªad
Wersja iteracyjna:
1
Y
Q2 (x ) = Q1 (x ) + f [x0 , x1 , x2 ]
(x − xk ) =
k =0
Q1 (x ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
Q1 (x ) = Q0 (x ) + f [x0 , x1 ]
0
Y
(x − xk ) =
k =0
Q0 (x ) + f [x0 , x1 ](x − x0 )
Q0 (x ) = f (x0 ) = 2
Zatem po podstawieniu:
Q1 (x ) = 2 − 1(x + 1) = 1 − x
1
1
1
(x − 1)(x + 1) = x2 − x +
2
2
2
Zaleta: po dodaniu nowego w¦zªa (x3 , f (x3 )) mo»na wykorzysta¢
2
Q
wystarczy doliczy¢ f [x0 , x1 , x2 , x3 ]
(x − xk )
Q2 (x ) = (1 − x ) +
Q2 (x ) k =0
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji - interpolacja wielomianowa
Zaªó»my, »e warto±ci y0 , y1 , . . . , yn dla w¦zªów interpolacji x0 , x1 , . . . , xn
(z przedziaªu < a, b >) bior¡ si¦ z pewnej funkcji g : R → R, t.j.
g (xi ) = yi .
Pytanie: jak dobrze wielomian interpolacyjny Wn (x ) przybli»a funkcj¦
g (x ) w przedziale < a, b > ?
Odpowied¹:
|g (x ) − Wn (x )| ≤ Mn+1 |ωn (x )|,
gdzie
Mn + 1 =
sup
x ∈(xa ,xb )
g (n+1) (x ), oraz ωn (x ) =
n
Q
i =0
(x − xi )
Bª¡d interpolacji - komentarz
zale»y od postaci pochodnej interpolowanej funkcji,
zale»y od funkcji ωn (x ), czyli od rozmieszczenia w¦zªów interpolacji
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji - interpolacja wielomianowa
Zaªó»my, »e warto±ci y0 , y1 , . . . , yn dla w¦zªów interpolacji x0 , x1 , . . . , xn
(z przedziaªu < a, b >) bior¡ si¦ z pewnej funkcji g : R → R, t.j.
g (xi ) = yi .
Pytanie: jak dobrze wielomian interpolacyjny Wn (x ) przybli»a funkcj¦
g (x ) w przedziale < a, b > ?
Odpowied¹:
|g (x ) − Wn (x )| ≤ Mn+1 |ωn (x )|,
gdzie
Mn + 1 =
sup
x ∈(xa ,xb )
g (n+1) (x ), oraz ωn (x ) =
n
Q
i =0
(x − xi )
Bª¡d interpolacji - komentarz
zale»y od postaci pochodnej interpolowanej funkcji,
zale»y od funkcji ωn (x ), czyli od rozmieszczenia w¦zªów interpolacji
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji - interpolacja wielomianowa
Zaªó»my, »e warto±ci y0 , y1 , . . . , yn dla w¦zªów interpolacji x0 , x1 , . . . , xn
(z przedziaªu < a, b >) bior¡ si¦ z pewnej funkcji g : R → R, t.j.
g (xi ) = yi .
Pytanie: jak dobrze wielomian interpolacyjny Wn (x ) przybli»a funkcj¦
g (x ) w przedziale < a, b > ?
Odpowied¹:
|g (x ) − Wn (x )| ≤ Mn+1 |ωn (x )|,
gdzie
Mn + 1 =
sup
x ∈(xa ,xb )
g (n+1) (x ), oraz ωn (x ) =
n
Q
i =0
(x − xi )
Bª¡d interpolacji - komentarz
zale»y od postaci pochodnej interpolowanej funkcji,
zale»y od funkcji ωn (x ), czyli od rozmieszczenia w¦zªów interpolacji
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji wielomianowej
Przykªad
Z jak¡ dokªadno±ci¡ mo»na oszacowa¢ warto±¢ sin(1.885) maj¡c dane
sin(0) = 0, sin(0.6283) = 0.5878, sin(2.3562) = 0.7071).
Mamy dane:
n = 2, < a, b >=< 0, 2.3562 >
funkcja interpolowana g (x ) = sin(x ),
g (3) (x ) = −cos(x ), zatem Mn+1 = 1
ωn (x ) = (x − 0)(x − 0.6283)(x − 2.3563)
ωn (1.885) = −1.1165
czyli:
|W2 (1.885) − sin(1.885)| ≤
Bartosz Kuczewski
1.1165
= 0.1860
6
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji wielomianowej
Przykªad
Z jak¡ dokªadno±ci¡ mo»na oszacowa¢ warto±¢ sin(1.885) maj¡c dane
sin(0) = 0, sin(0.6283) = 0.5878, sin(2.3562) = 0.7071).
Mamy dane:
n = 2, < a, b >=< 0, 2.3562 >
funkcja interpolowana g (x ) = sin(x ),
g (3) (x ) = −cos(x ), zatem Mn+1 = 1
ωn (x ) = (x − 0)(x − 0.6283)(x − 2.3563)
ωn (1.885) = −1.1165
czyli:
|W2 (1.885) − sin(1.885)| ≤
Bartosz Kuczewski
1.1165
= 0.1860
6
Metody numeryczne i statystyka dla in»ynierów
Bª¦dy interpolacji wielomianowej - przykªad
Bª¡d w rzeczywisto±ci
W2 (1.885) − sin(1.885) = 0.0587
0.9
0.8
0.7
0.6
0.5
0.4
wezly interpolacji
szukana wartosc
wielomian interpolacyjny
blad interpolacji
0.3
0.2
0.1
0
0
0.5
1
Bartosz Kuczewski
1.5
2
2.5
3
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Interpolacja za pomoc¡ wielomianów:
rz¡d wielomianu interpolacyjnego zazwyczaj musi by¢ równy liczbie
w¦zªów ...
... co dla du»ej ilo±ci w¦zªów (wysokich stopni wielomianu
interpolacyjnego) prowadzi¢ mo»e do du»ych bªedów
macierz Vandermonada zwykle ¹le uwarunkowana
wielomiany nie nadaj¡ si¦ do szacowania warto±ci poza granicami
przedziaªu z którego pochodz¡ w¦zªy interpolacyjne.
: czy nie mo»na inaczej ?
Pytanie
Funkcje sklejane - idea
Zamiast stosowa¢ wielomian wysokiego rz¦du do interpolacji punktów,
mo»na zastosowa¢ kilka wielomianów stopnia ni»szego.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Interpolacja za pomoc¡ wielomianów:
rz¡d wielomianu interpolacyjnego zazwyczaj musi by¢ równy liczbie
w¦zªów ...
... co dla du»ej ilo±ci w¦zªów (wysokich stopni wielomianu
interpolacyjnego) prowadzi¢ mo»e do du»ych bªedów
macierz Vandermonada zwykle ¹le uwarunkowana
wielomiany nie nadaj¡ si¦ do szacowania warto±ci poza granicami
przedziaªu z którego pochodz¡ w¦zªy interpolacyjne.
: czy nie mo»na inaczej ?
Pytanie
Funkcje sklejane - idea
Zamiast stosowa¢ wielomian wysokiego rz¦du do interpolacji punktów,
mo»na zastosowa¢ kilka wielomianów stopnia ni»szego.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Interpolacja za pomoc¡ wielomianów:
rz¡d wielomianu interpolacyjnego zazwyczaj musi by¢ równy liczbie
w¦zªów ...
... co dla du»ej ilo±ci w¦zªów (wysokich stopni wielomianu
interpolacyjnego) prowadzi¢ mo»e do du»ych bªedów
macierz Vandermonada zwykle ¹le uwarunkowana
wielomiany nie nadaj¡ si¦ do szacowania warto±ci poza granicami
przedziaªu z którego pochodz¡ w¦zªy interpolacyjne.
: czy nie mo»na inaczej ?
Pytanie
Funkcje sklejane - idea
Zamiast stosowa¢ wielomian wysokiego rz¦du do interpolacji punktów,
mo»na zastosowa¢ kilka wielomianów stopnia ni»szego.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Denicja funkcji sklejanej
Nie b¦dzie dany przedziaª < a, b > oraz zestaw punktów
takich »e:
a = x0 < x1 < . . . < xn−1 < xn = b.
x0 , x1 , . . . , xn ,
Oznaczmy przez ∆n podziaª ustanowiony przez punkty {xi }ni=0 . Funkcj¦
s (x ) = s (x , ∆n ) nazywamy funkcj¡ sklejan¡ stopnia m ≥ 1, je±li:
1) s (x ) jest wielomianem stopnia co najwy»ej m w ka»dym
podprzedziale (xi , xi +1 ), i = 0, 1, . . . , n − 1,
2) s (x ) ∈ C m−1 dla
x ∈< a, b >.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Denicja funkcji sklejanej
Nie b¦dzie dany przedziaª < a, b > oraz zestaw punktów
takich »e:
a = x0 < x1 < . . . < xn−1 < xn = b.
x0 , x1 , . . . , xn ,
Oznaczmy przez ∆n podziaª ustanowiony przez punkty {xi }ni=0 . Funkcj¦
s (x ) = s (x , ∆n ) nazywamy funkcj¡ sklejan¡ stopnia m ≥ 1, je±li:
1) s (x ) jest wielomianem stopnia co najwy»ej m w ka»dym
podprzedziale (xi , xi +1 ), i = 0, 1, . . . , n − 1,
2) s (x ) ∈ C m−1 dla
x ∈< a, b >.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Interpolacja za pomoc¡ funkcji sklejanych
Denicja funkcji sklejanej
Nie b¦dzie dany przedziaª < a, b > oraz zestaw punktów
takich »e:
a = x0 < x1 < . . . < xn−1 < xn = b.
x0 , x1 , . . . , xn ,
Oznaczmy przez ∆n podziaª ustanowiony przez punkty {xi }ni=0 . Funkcj¦
s (x ) = s (x , ∆n ) nazywamy funkcj¡ sklejan¡ stopnia m ≥ 1, je±li:
1) s (x ) jest wielomianem stopnia co najwy»ej m w ka»dym
podprzedziale (xi , xi +1 ), i = 0, 1, . . . , n − 1,
2) s (x ) ∈ C m−1 dla
x ∈< a, b >.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Funkcje sklejane stopnia trzeciego (m = 3)
s0 (x ) = c0,3 x 3 + c0,2 x 2 + c0,1 x + c0,0
s1 (x ) = c1,3 x 3 + c1,2 x 2 + c1,1 x + c1,0
s2 (x ) = c2,3 x 3 + c2,2 x 2 + c2,1 x + c2,0
s3 (x ) = c3,3 x 3 + c3,2 x 2 + c3,1 x + c3,0
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Funkcje sklejane stopnia trzeciego (m = 3)
Komentarz 1
Mamy dokªadnie n(m + 1) = 4n parametrów opisuj¡cych krzyw¡.
Komentarz 2
Warunek w denicji funkcji sklejanej:
s (x ) ∈ C 2 dla x ∈< a, b >,
Oznacza to, »e druga pochodna funkcji s (x ) musi by¢ funkcj¡ liniow¡ w
ka»dym podprzedziale < xi , xi +1 >, i = 0, 1, . . . , n − 1.
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Funkcje sklejane stopnia trzeciego (m = 3)
Wyznaczanie parametrów
warto±ci w w¦zªach zewn¦trznych speªniaj¡ warunek interpolacji:
s0 (x0 ) = f (x0 ), sn−1 (xn ) = f (xn )
warto±ci 2-gich pochodnych w w¦zªach zewn¦trznych speªniaj¡
warunek naturalno±ci:
s0 (x0 ) = sn−1 (xn ) = 0
00
00
w w¦zªach wewn¦trznych warto±ci funkcji s¡ równe:
si −1 (xi ) = si (xi ) = f (xi ), i = 1, 2, . . . , n − 1
w w¦zªach wewn¦trznych warto±ci pierwszych pochodnych s¡ równe:
si −1 (xi ) = si (xi ), i = 1, 2, . . . , n − 1
0
0
w w¦zªach wewn¦trznych warto±ci drugich pochodnych s¡ równe:
si −1 (xi ) = si (xi ), i = 1, 2, . . . , n − 1
00
00
Š¡cznie mamy 4n równa«
Bartosz Kuczewski
Metody numeryczne i statystyka dla in»ynierów
Funkcje sklejane - przykªad
Dokona¢ interpolacji funkcjami sklejanymi stopnia 3 dla danych:
i
0
1
2
3
4
Bartosz Kuczewski
xi
1
3
4
6
7
yi
-1
0
4
2
5
Metody numeryczne i statystyka dla in»ynierów
Funkcje sklejane - przykªad - wyniki
20
15
y
10
5
0
−5
0
1
2
3
Bartosz Kuczewski
4
x
5
6
7
8
Metody numeryczne i statystyka dla in»ynierów