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