Metody wielokrokowe
Transkrypt
Metody wielokrokowe
1 METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Michał PŁOTKOWIAK, Adam ŁODYGOWSKI Konsultacje naukowe dr inz. Witold Kąkol Poznań 2002/2003 METODY KOMPUTEROWE 5 Metody wielokrokowe- kontynuacja W odróżnieniu od metod jednokrokowych, polegają nie na obliczaniu nachylenia funkcji ale wykorzystują poprzednie rozwiązanie Korzystamy z układu równań predyktor, korektor y i0+1 = y i + f ( xi , y i )h f ( xi , y i ) + f ( xi +1 , y i0+1 ) y = y + h i +1 i 2 (5.1) (5.2) Błędy obu równań są jednak różnych rzędów. Predyktor (5.1) posiada błąd rzędu 0(h2), natomiast korektor (5.2) rzędu 0(h3) Aby uzyskać w obu przypadkach błąd rzędu 0(h3) i uwzględniając poprzednie rozwiązanie, równanie predyktora zapisujemy w następującej postaci: y i0+1 = y i −1 + f ( xi , y i )2h Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski (5.3) 2 METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Rys. 1. a) Predyktor i b) Korektor Metoda ta posiada zasadniczy mankament: na starcie trzeba znać rozwiązanie wstecz. Jest to więc metoda samoniestartująca. Metoda Heunsa wielokrokowa Metoda samo-nie startująca predyktor: y i0+1 = y im−1 + f ( xi , y im )2h (5.4) korektor: y ij+1 = y im + Politechnika Poznańska ® f ( xi , y im ) + f ( xi +1 , y ij+−11 ) h 2 Michał Płotkowiak, Adam Łodygowski (5.5) 3 METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Rozwiązanie metody otrzymujemy na drodze iteracji, która następuje od j=1,...,m Błąd metody wynosi: y ij+1 − y ij+−11 ε0 = ⋅ 100% y ij+1 (5.6) PRZYKŁAD x=0 x=4 y (0) = 2 h =1 y ' = 4e 0,8 x − 0,5 y Rozwiązanie w poprzednim punkcie (-1) y (−1) = −0,3929953 Predyktor (ekstrapolowanie liniowe od x=-1 do x=1): [ ] y10 = −0,3929953 + 4e 0,8( 0 ) − 0,5(2) 2 = 5,607005 Korektor(obliczenie wartości): y '1 = 4e 0,8( 0 ) − 0,5(2) + 4e 0,8( 0) − 0,5(5,607005) ⋅ 1 = 6,549331 2 Błąd procentowy metody wynosi: ε = − 5 , 73 % Dla porównania błąd w metodzie Huensa samostartującej (przykładx) wynosił –8,18%. Dokonując kolejnej iteracji: 3 + 4e 0,8(1) − 0,5(6,549331) y = 2+ ⋅ 1 = 6,313749 2 2 1 Błąd procentowy ε t = −1,92% Błąd względny zgodnie ze wzorem (5.6) wynosi: Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, ε = 6,313749 − 6,549331 ⋅ 100% = 3,7% 6,313749 Równania różniczkowe-zagadnienia brzegowe y '1 = f1 ( x, t ) y ' 2 = f 2 ( x, t ) t=0 y1 = y1,0 y 2 = y 2, 0 Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski 4 METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Rys. 2. a) Warunki brzegowe określone w jednym punkcie niezależnej zmiennej, b) warunki brzegowe określone w dwóch różnych miejscach niezależnej zmiennej Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski 5 METODY KOMPUTEROWE 6 METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Rys. 3. Zadanie dane powyżej rozwiązujemu różnymi metodami: Metoda różnic skończonych: d 2T + h' (Tα − T ) = 0 dx 2 T (0) = T1 T ( L) = T2 gdzie h’- wsp. przewodności Tα- temp. otoczenia dane: L=10, Tα=200, T1=40, T2=200, h’=0,01 Rozwiązanie: T = 73,452e 0,1x − 53,4523e −0,1x + 20 Metoda ‘shooting’ Przekształca równanie różniczkowe brzegowe do równania różniczkowego początkowego. dT =z dx dz = h' (T − Tα ) dx Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski (5.7) METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, początkowo przyjmujemy (zgadujemy) z (0) = 10 stosując metodę R-K IV rzędu o kroku 2, otrzymaliśmy T (10) = 168,3797 dla z (0) = 20 T (10) = 285,8980 dokonując liniowej interpolacji : z (0) = 10 + 20 − 10 (200 − 168,3797) = 12,6907 285,8980 − 168,3797 Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski 7 METODY KOMPUTEROWE 8 METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, Rys. 4. Metoda „shooting” a) pierwszy strzał, b) drugi strzał, c) końcowy dokładny strzał. Metoda różnic skończonych porzybliżona różnica skończona dla drugiej pochodnej ma postać d 2T Ti +1 − 2Ti + Ti −1 = dx 2 ∆x 2 Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski 9 METODY KOMPUTEROWE METODY WIELOKROKOWE- KONTYNUACJA, ZAGADNIENIA BRZEGOWE, po podstawieniu (5.7) otrzymamy Ti +1 − 2T + Ti −1 − h' (Ti − Ta ) = 0 ∆x 2 Ti +1 − 2Ti + Ti −1 − ∆x 2 h' Ti + ∆x 2 h' Ta = 0 Ti −1 − (2 + h' ∆x 2 )Ti + Ti +1 = − h' ∆x 2Ta jeżeli ∆x=2 0 0 T1 40,8 2,04 − 1 − 1 2,04 − 1 0 T2 0,8 = 0 − 1 2,04 − 1 T3 0,8 0 − 1 2,04 T4 200,8 0 T = [65.9698,93.7785,124.5382,159.4795] Zestawienie wyników otrzymanych przy zastosowaniu powyższych metod x 0 2 4 6 8 10 metoda ‘shooting’ 40 65.9518 93.7478 124.5036 159.4334 200 Politechnika Poznańska ® 40 65.9520 93.7481 124.5039 159.4538 200 metoda różnic skończonych 40 65.9698 93.7785 124.5382 159.4795 200 Michał Płotkowiak, Adam Łodygowski