Metody numeryczne Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Elektrotechnika stacjonarne-dzienne pierwszego stopnia z tyt inżyniera Informatyka stacjonarne-dzienne drugiego stopnia z tyt magistra inżyniera Interpolacja Laboratorium, prowadzący: mgr inż Błażej Cichy Rok akademicki 2010/2011 1 Kilka uwag teoretycznych 11 Interpolacja liniowa Jest to najprostszy przypadek interpolacji Poniższy wzór został tak skonstruowany aby w punktach węzłowych wartość błędu była równa zero: y = P (x) = y 0 + (y 1 y 0 ) x x 0 (1) Wzór ten jest wygodniej zapisywać w następującej postaci: 12 Wielomian Lagrange y = P 1 (x) = y 0 x x 1 x 0 x 1 + y 1 x x 0 (2) Wielomian Lagrange stanowi uogólnienia interpolacji liniowej dla wielomianów dowolnego stopnia Zapisujemy go w następujący sposób: P N (x) = N y k L N,k (x) (3) k=0 Gdzie symbol L N,k (x) oznacza współczynniki wielomianu dla podanych węzłów: L N,k (x) = (x x 0) (x x k 1 )(x x k+1 ) (x x N ) (x k x 0 ) (x k x k 1 )(x k x k+1 ) (x k x N ) (4) Możemy to zapisać w przy zastosowaniu symbolu produktowego, co skróci zapis: L N,k (x) = N j=0,j k (x x j) N j=0,j k (x k x j ) (5) 1
Interpolacja 2 13 Oszacowanie błędu interpolacji Interesuje nasz błąd ε dla punktów leżących wewnątrz przedziału określamy w następujący sposób: ε(x) = f(x) P N (x) (6) Bowiem wartość błędu dla węzłów wynosi zero Możemy skorzystać z następującej zależności: f(x) P N (x) M n+1 (n + 1)! ω x(x) (7) Symbolem M n+1 oznaczamy kres górny (n + 1)-szej pochodnej interpolowanej funkcji: M n+1 = sup x a,b f (n+1) (x) (8) Natomiast pod symbolem ω x (x) ukrywa się następujące wyrażenie: 14 Wzór interpolacyjny Newtona ω n (x) = (x x 0 )(x x 1 ) (x x n ) (9) Wielomian interpolacyjny jest dany następującym wzorem: P N (x) = a 0 + a 1 (x x 0 ) + + a N (x x 0 )(x x 1 ) (x x N1 ) (10) Przez a k oznaczamy ilorazy różnicowe funkcji: a k = f[x 0, x 1,, a k ], gdzie k = 0, 1, 2,, N Wzory na iloraz różnicowy funkcji dwóch wartości czyli iloraz różnicowy pierwszego rzędu są następująco zdefiniowane: f(x 0 ; x 1 ) = f(x 1) f(x 0 ) f(x 1 ; x 2 ) = f(x 2) f(x 1 ) x 2 x 1 f(x n 1 ; x n ) = f(x n) f(x n 1 ) x n x n 1 W podobny sposób określone są ilorazy drugiego rzędu: f(x 0 ; x 1 ; x 2 ) = f(x 1; x 2 ) f(x 0 ; x 1 ) x 2 x 0 f(x n 2 ; x n 1 ; x n ) = f(x n 1; x n ) f(x n 2 ; x n 1 ) x n x n 2 Ogólnie wzór na dowolny rząd ilorazy różnicowego funkcji jest następujący: f(x i ; x i+1 ; ; x i+n ) = f(x i+1; x i+2 ; ; x i+n ) f(x i ; x i+1 ); ; x i+n 1 x i+n x i (11)
Interpolacja 3 Do wyznaczanie ilorazów różnicowych pomocą może być następująca tabela: x i f(x i ) rzędu 1 rzędu 2 rzędu 3 rzędu 4 rzędu 5 x 0 f(x 0 ) f(x 0 ; x 1 ) x 1 f(x 1 ) f(x 0 ; x 1 ; x 2 ) f(x 1 ; x 2 ) f(x 0 ; x 1 ; x 2 ; x 3 ) x 2 f(x 2 ) f(x 1 ; x 2 ; x 3 ) f(x 0 ; x 1 ; x 2 ; x 3 ; x 4 ) f(x 2 ; x 3 ) f(x 1 ; x 2 ; x 3 ; x 4 ) f(x 0 ; x 1 ; x 2 ; x 3 ; x 4 ; x 5 ) x 3 f(x 3 ) f(x 2 ; x 3 ; x 4 ) f(x 1 ; x 2 ; x 3 ; x 4 ; x 5 ) f(x 3 ; x 4 ) f(x 2 ; x 3 ; x 4 ; x 5 ) x 4 f(x 4 ) f(x 3 ; x 4 ; x 5 ) f(x 4 ; x 5 ) x 5 f(x 5 ) Dla funkcji f(x) = x 3 tablica ilorazów różnic jest następująca: x i f(x i ) f(x i ; x i+1 ) f(x i ; x i+1 ; x i+2 ) f(x i ; x i+1 ; x i+2 ; x i+3 ) f(x i ; x i+1 ; x i+2 ; x i+3 ; x i+4 ) 0 0 4 2 8 5 19 1 3 27 10 0 49 1 5 125 14 91 6 216 15 Interpolacja za pomocą funkcji sklejanych Podobnie jak w interpolacji liniowej w podobny sposób można podać wzór na interpolację za pomocą funkcji sklejanych za pomocą funkcji liniowych, gdzie d k = (y k+1 d k )/(x k+1 x k ): S(x) = y 0 + d 0 (x x 0 ) x [x 0, x 1 ] y 1 + d 1 (x x 1 ) x [x 1, x 2 ] y 2 + d 2 (x x 2 ) x [x 2, x 3 ] y k + d k (x x k ) x [x k, x k+1 ] y N 1 + d N 1 (x x N 1 ) x [x N 1, x N ] Krzywą interpolująca sklejaną nazywamy naturalną krzywą interpolującą (ang natural cubic spline) wykorzystującą wielomiany stopnia trzeciego, gdy spełnione są następujące warunki: s(x) jest wielomianem stopnia 3 na każdym przedziale [x j 1, x j ] dla j = 2, 3,, n s(x), s (x),s (x), są ciągłe ma przedziale a x b s (x 1 ) = s (x) = 0
Interpolacja 4 Uzyskanie krzywej dla n węzłów rozpoczniemy od uzyskania wartości współczynników M j według następującego wzoru: x j x j 1 6 M j 1 + x j+1 x j 1 3 M j + x j+1 x j M j+1 = y j+1 y j y j y j 1 6 x j+1 x j x j x j 1 Gdzie j = 2, 3,, n 1, zakładamy również, że M 1 = M n = 0 Poszczególne wielomiany otrzymujemy wykorzystując następującą relację: s(x) = (x j x) 3 M j 1 + (x x j 1 ) 3 M j 6(x j x j 1 ) + (x j x)y j 1 + (x x j 1 )y j x j x j 1 1 6 (x j x j 1 )[(x j x)m j 1 + (x x j 1 )M j ] 2 Zadania 1 Stosując interpolację liniową wyznaczyć wielomian interpolacyjny dla funkcji f(x) = x Określić błąd średniokwadratowy dla otrzymanego wielomianu dla przedziału 1, 4 2 Podać wielomian interpolacyjny (Lagrange a, Newtona), jeśli dane są następujące węzły: ( 2, 3), (1, 1), (2, 3), (4, 8) 3 Stosując metody Lagrange a i Newtona zbudować wielomian interpolacyjny 4-go stopnia dla następującej tablicy: x 00 01 03 06 10 f(x) 600000 589483 565014 517788 428172 4 Z jaką dokładnością można oszacować wartość 2 wielomianem Lagrange dla następujących punktów węzłowych: 1, 25/16, 16/9, 9/4 Wykorzystać wzór?? 5 Ocenić dokładność z jaką można obliczyć wartość ln 1005 przy zastosowaniu wzoru interpolującego Lagrange a Dane są następuję wartości węzłowe: ln 100, ln 101, ln 102, ln 103 6 Dane sa 3 punkty (1, 0), (3, 3), (4, 1) Znaleźć wielomian posiadający w każdym z nich punkt ekstremalny lub punkt przegięcia Jaki jest minimalny stopień takiego wielomianu? 7 Populacja ludności w USA od 1930 do 1980 wynosiła (w mln): rok 1930 1940 1950 1960 1970 1980 ludno 123203 131669 150697 179323 203212 226505 Wyznaczyć wielomian interpolacyjny Lagrange a 5-go stopnia używając powyższych danych Wykorzystaj wyznaczony wielomian do oceny populacji w latach 1920, 1965 i 2002 Co można powiedzieć o dokładności oceny populacji w 1965 oraz w 2002 roku? 8 Dla następujących węzłów: (0, 0), (1, 05), (2, 20), (3, 15) wyznaczyć naturalną krzywą sklejaną
Interpolacja 5 9 Poniższa tabela prezentuje wartości temperatury (w stopniach Fahrenheita) w Los Angeles Wyznaczyć naturalną krzywą składaną i narysować jej wykres: Literatura Czas Stopnie Czas Stopnie 1 58 7 57 2 58 8 58 3 58 9 60 4 58 10 64 5 57 11 67 6 57 12 68 [1] Bjärck Ake i Dahlquist Germund Metody numeryczne PWN, Warszawa, 1987 [2] Jerzy Brzózka i Lech Dorobczyński Programowanie w MATLAB Warszawa, Wydanie I, 1998 [3] Zenon Fortuna, Bohdan Macukow i Janusz Wąsowski Metody numeryczne WNT, Warszawa, 1995 [4] Jerzy Klamka i in Metody numeryczne Politechnika Śląska, Gliwice, 1998 [5] David Kincaid i Ward Cheney Analiza numeryczna WNT, Warszawa, 2006 [6] Anna Kamińska i Beata Pańczyk Matlab Ćwiczenia z, Przykłady i zadania Warszawa, Wydanie I, 2002 [7] Wanat Kazimierz Algorytmy numeryczne Helion, Gliwice, 1994 [8] Bogumiła Mrozek i Zbigniew Mrozek MATLAB i Simulink Poradnik użytkownika Wydanie II, 2004 [9] Jurij Povstenko Wprowadzenie do metod numerycznych Akademicka Oficyna Wydawnicza EXIT, Warszawa, Wydanie drugie poprawione i uzupełnione, 2005 [10] Rudra Pratap MATLAB 7 dla naukowców i inżynierów PWN, 2007 [11] Wiesława Regel Wykresy i obiekty graficzne w MATLAB Warszawa, Wydanie I, 2003 [12] Marcin Stachurski Metody numeryczne w programie Matlab Warszawa, Wydanie I, 2003