Δt)] niejawny schemat Eulera [globalny błąd O(Δt)] u(t) f(t,u) f(t,u) u(t) [t+ Δt,u(t+Δt)]

Podobne dokumenty
pozbyć się ograniczenia na krok czasowy ze strony bezwzględnej stabilności: niejawna metoda Eulera

t. sztywny problem w pojedynczym równaniu: u(t)=cos(t) dla dużych ż t rozwiązanie i ustalone

u(t) RRZ: u (t)=f(t,u) Jednokrokowy schemat różnicowy

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr 1

równania funkcyjne opisujące relacje spełniane przez pochodne nieznanej (poszukiwanej) funkcji

Metoda różnic wstecznych: interpolujemy u wielomianem od chwili n-k aż do n-1

użyteczne, gdy problem nie wymaga zmiany dt ważne: schematy do rozwiązywania równań cząstkowych mają często wielokrokowy charakter

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr zimowy 2017/2018

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

x y

Całkowanie numeryczne

y i b) metoda różnic skończonych nadal problem nieliniowy 2 go rzędu z warunkiem Dirichleta

Całkowanie numeryczne przy użyciu kwadratur

OBLICZANIE POCHODNYCH FUNKCJI.

ciało w potencjale radialnym schemat Eulera orbity kontrola kroku czasowego

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Optymalizacja ciągła

Metody przybliżonego rozwiązywania równań różniczkowych zwyczajnych

Obliczenia iteracyjne

Numeryczne rozwiązywanie równań różniczkowych ( )

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

S Y L A B U S P R Z E D M I O T U

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Metoda różnic skończonych dla

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Metody numeryczne I Równania nieliniowe

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

Matematyka stosowana i metody numeryczne

Metody numeryczne. materiały do wykładu dla studentów

Metody numeryczne równań różniczkowych zwyczajnych

numeryczne rozwiązywanie równań całkowych r i

użyteczne, gdy rachunek nie wymaga zmiany kroku całkowania a wykonanie każdego kroku jest kosztowne

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Wstęp do równań różniczkowych

Laboratorium II: Modelowanie procesów fizycznych Skrypt do ćwiczeń

Wstęp do równań różniczkowych

Interpolacja i modelowanie krzywych 2D i 3D

Metoda Runge-Kutta-Fehlberga i sterowanie długością kroku

Prawa fizyki: zapisywane w postaci równań różniczkowych (Newtona, Maxwella, dyfuzji, falowe, Poissona, Laplace a, Naviera-Stokesa, Schroedingera)

Zwięzły kurs analizy numerycznej

RÓWNANIA NIELINIOWE Maciej Patan

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

KADD Minimalizacja funkcji

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 5. Terminologia. Metody Eulera, metody punktu środkowego i metody trapezowe

Metody Prognozowania

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Komputerowa analiza zagadnień różniczkowych 6. Metoda diagramowa. Obszary stabilności. P. F. Góra

Równania różniczkowe metody numeryczne

Iteracyjne rozwiązywanie równań

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

automatyka i robotyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PODSTAWY MODELOWANIA UKŁADÓW DYNAMICZNYCH W JĘZYKACH SYMULACYJNYCH

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

Analiza matematyczna dla informatyków 3 Zajęcia 14

inżynierskie metody numeryczne cel przedmiotu:

inżynierskie metody numeryczne D10/325,

inżynierskie metody numeryczne D10/325, Konsultacje 8:00 9:30

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Czym jest całka? Całkowanie numeryczne

Metody numeryczne rozwiązywania równań różniczkowych

Rozwiązywanie równań nieliniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Komputerowa analiza zagadnień różniczkowych 5. Metody Rungego-Kutty (II) P. F. Góra

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Metody rozwiązania równania Schrödingera

KADD Minimalizacja funkcji

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

Zagadnienia brzegowe dla równań eliptycznych

Metody numeryczne w przykładach

Matematyka stosowana i metody numeryczne

Równania różniczkowe zwyczajne

UKŁADY RÓWNAŃ LINIOWYCH

ANALIZA MATEMATYCZNA

inżynierskie metody numeryczne D10/325, Konsultacje 8:00 9:30

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład

Ustaliliśmy, że do rozwiązywania równania adwekcji lepiej nadaje się mniej dokładny schemat upwind niż ten z ilorazem centralnym

INFORMATYKA ELEMENTY METOD NUMERYCZNYCH.

7. CIĄGI. WYKŁAD 5. Przykłady :

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

Zajęcia nr 1: Zagadnienia do opanowania:

Rozwiązywanie układów równań liniowych

Optymalizacja ciągła

Transkrypt:

jawny schemat Eulera [globalny błąd O(Δt)] niejawny schemat Eulera [globalny błąd O(Δt)] u(t) f(t,u) [t,u(t)] )]dokładne d u(t) () f(t,u) [t+ Δt,u(t+Δt)] [t+ Δt,u(t+Δt)] Δt)] Δt t Δt t u(t) [t,u(t)] dokładne f(t,u) przesunięcie wyliczane na podstawie średniej arytmetycznej z chwil t i t+δt [wzór trapezów] [t+ Δt,u(t+Δt)] Δt t

dokładność wzóru trapezów a jawnego schematu Eulera: Równanie: Warunek początkowy: u 1 =u(t 1 =0)=1 Rozwiązanie: Punkt t 2 =0.5 u 2 =? [dokładnie: 1.1331] Euler jawny yjeden krok: u 2=u 1+Δt t 1u 1=u 1= 1 wzór trapezów u 2 =u 1 +(t 1 u 1 +t 2 u 2 ) Δt /2 = u 1 +t 2 u 2 Δt /2 jawny Euler u 2 := u 1 +u 2 /8 2 1 2 iteracja funkcjonalna wynik 8/7 niejawny Euler: 4/3=1.333 (pokazać) nieco gorzej niż jawny TR wygląda na bardziej dokładny d od E:

Oszacować błąd lokalny wzoru trapezów 1. rozw. Taylora wstecz 2. dla dowolnej funkcji ciągłej f(t)=f(t+δt)+o(δt) (wstawimy, rząd błędu pozostanie trzeci) 3. Rozwiązać na u(t+δt) Euler miał rząd obcięcia Δt 2 pozbyć się go.

3. Rozwiązać na u(t+δt) [przepisane] 4. Uśrednić z rozwinięciem Taylora do przodu 5. Wynik 6. Korzystamy z równania jawny i niejawny Euler lokalny błąd rzędu drugiego (rząd dokładności 1) wzór trapezów lokalny błąd rzędu trzeciego (rząd dokładności 2)

stabilność bezwzględną wzoru trapezów problem modelowy: WP: u(t=0)=1. rozwiązanie u=exp(λt) zbiór punktów na p. Gaussa, które są nie dalej od ( 2,0) niż od (2,0)

region bzwz. stabilności wzoru trapezów Δt Im (λ) Δt Re(λ) Wniosek: dla λ<0 wzór trapezów bezwzględnie stabilny dla dowolnego kroku czasowego! A stabilny druga bariera Dahlquista: maksymalny rząd dokładności metody A stabilnej =2 schemat trapezów jest najdokładniejszą metodą A stabilną spośród liniowych metod wielokrokowych Implementowana np. w SPICE.

region bzwz. stabilności Eulera: koło o promieniu 1 Δt Im (λ) i środku ( 1,0) Δt Re(λ) region bzwz. stabilności wzoru trapezów Δt Im (λ) niejawna metoda Eulera: region bezwzględnej stabilności Δt Im (λ) Δt Re(λ) między metodami można przechodzić w sposób ciągły 1 1 Δt Re(λ) θ=0,1,1/2 Euler jawny, niejawny i wzór trapezów odpowiednio w wykładzie na temat niejawnych formuł RK zobaczymy, że dokładność rzędu 2 uzyskana tylko dla θ=1/2 region stabilności?

iteracja funkcjonalna a wzór trapezów problem początkowy: u = 100u, u(0)=1 z rozwiązaniem dokładnym u(t)=exp( 100 t ) Δt=0.01 01 = graniczny dla zbieżności IF dla niejawnego Eulera 1,0, 0.5, 0.25, 0.375, 0.3125, 0.34375, 0.328125, 0.33593, 0.33203, 0.333984,...,0.333333 wzór trapezów = używa prawej strony z poprzedniego kroku czasowego z wagą 0.5 co nieco stabilizuje iterację. niestety iteracja funkcjonalna dla Δt=0.02 już przestaje być zbieżna (+1, 1,+1, 1,itd..) wzór trapezów zwiększa zakres zbieżności iteracji dwukrotnie (wyraz podkreślony stabilizuje iteracje) ale to wciąż mało metoda Newtona Raphsona pozostaje

poznane metody: 1) 2) 3) ) Poznane metody: jednokrokowe (1 3), jawna (1) i niejawne (2 3), pierwszego (1 2) i drugiego (3) rzędu dokładności d ś Metody (2 3) A stabilne, metoda (2) nadstabilna jawne metody różnicowe wysokiej dokładności??

jawne metody jednokrokowe wyższego rzędu dokładności niż jawny Euler u =f(t,u), u(0)=u u 0 rozwinięcie Taylora ponownie: liczymy pochodne: RRróżniczkujemy po czasie z RR. czyli podobnie Zależnie od tego gdzie się zatrzymamy uzyskamy błąd lokalny żądanego rzędu

Zależnie od tego gdzie się zatrzymamy uzyskamy błąd lokalny zadanego rzędu np. pomysł: mało przydatny w praktyce ze względu na konieczność analitycznego wyliczenia pochodnych cząstkowych f. Dla metod ogólnych: nie powinniśmy liczyć, że f jest dane wzorem

podejście alternatywne: inspirowane całkowaniem prawa strona = funkcja tylko t z rozwiązaniem: jeśli zastąpimy całkę kwadraturą prostokątów z wywołaniem funkcji w lewym końcu przedziału t n 1 t n u(t n )=u(t n 1 )+Δt f(t n 1 )+ O(Δt 2 ) rozpoznajemy jawny schemat Eulera kwadratura prostokątów z wywołaniem funkcji w prawym końcu przedziału u(t )=u(t 2 n )u(t n 1 )+Δt f(t n ) + O(Δt ) t n 1 t rozpoznajemy niejawny schemat Eulera n kwadratura trapezów u(t n )=u(t n 1 )+Δt f(t n )/2+ Δt f(t n 1 )/2 + O(Δt 3 ) rozpoznajemy niejawny schemat trapezów t n 1 t n

reguła punktu środkowego wzór prostokątów z wywołaniem funkcji w środku przedziału (dokładny dla funkcji liniowej, znoszenie błędów) t n 1 t n 1/2 t n uogólniony wzór na równanie równania u =f(t,u) np. ze schematu Eulera: ale skąd rozwiązanie w środku przedziału? bł d l k l E l O(Δt 2 ) ł kt ś dk błąd lokalny Eulera O(Δt 2 ), czy reguła punktu środkowego zachowa trzeci rząd błędu lokalnego?

sprawdźmy to rozważając bardziej ogólny schemat: obliczone na początku kroku obliczone gdzieś w środku przedziału (t n 1,t n ) z odpowiednio oszacowanym rozwiązaniem u dla tego t (wzór typu Eulera) jest to jawny dwustopniowy schemat Rungego Kutty. potencjalna wyższa dokładność od jawnego Eulera kosztem dwóch wywołań f (podobnie jak we wzorze trapezów, ale RK: jawny) b1,b2,a,c parametry metody jakie muszą być aby RK2 (2 = rząd dokładności) reguła punktu środkowego: należy do tej klasy z b 1 =0, b 2 =1, c=1/2, a =1/2

Jawne metody Rungego Kutty dwustopniowe: wybór parametrów (*) u =f(t,u) jak dobrać b 1,b 2,c,a? metodą brutalnej siły tak aby rozwinięcie Taylora metody zgadzało się z rozwinięciem Taylora dokładnego równania różniczkowego do wyrazów tak wysokiego rzędu ę jak to tylko możliwe przypominamy: rozwinięcie Taylora dla funkcji dwóch zmiennych wstawiamy rozwiązanie dokładne u(t n ), u(t n 1 ) do (*) i rozwijamy względem t n 1, u n 1

to trzeba rozwinąć wstawmy k 2 do rozwinięcia. Zachowajmy człony do Δt 2: (wszystko liczone w t n 1,u n 1 ) rozwinięcie Taylora rozwiązania dokładnego uzyskaliśmy kilka slajdów wcześniej czyli: rząd Δt: b 1 +b 2 =1, rząd Δt 2 : b 2 c=b 2 a=1/2 czyli reguła punktu środkowego: b 1 =0, b 2 =1, c=1/2, a =1/2 ma błąd lokalny rzędu O(Δt 3 ) 1 2 mamy metodę równie dokładną co wzór trapezów ale jawną (co ma swoje zalety i wady) Wyższy rząd błędu do uzyskania tylko w metodach o większej niż 2 liczbie stopni

cztery parametry i trzy równania b 1 +b 2 =1 b 2 c=b 2 a=1/2 pozostaje swoboda w wyborze parametrów reguła punktu środkowego RK2 b 1 =0, b 2 =1, c=1/2, a =1/2 dwa zastosowania jawnego schematu Eulera albo (przesunięty indeks) oszacowanie wstępne w punkcie pośrednim (błąd lokalny rzędu drugiego) oszacowanie docelowe (błąd lokalny oszacowania: rzędu trzeciego) u(t) [t,u(t)] dokładne [t+δt/2,y(t+δt/2)] 1) Szacujemy metodą Eulera punkt środkowy [t+δt/2,u(t+δt/2)] korzystając z f(t,u) w lewym końcu przedziału 2) Wykorzystujemy wartość f w tym punkcie do wyliczenia zmiany y na całym przedziale Δt Δt t

RK punktu środkowego:b 1 +b 2 =1, b 2 cba1/2 c=b 2 a=1/2 inny wybór: b 1 =b 2 =1/2, wtedy musi a=c=1 metoda podobna do wzoru trapezów (ale jawna) u(t) [t,u(t)] dokładne 1) Szacujemy metodą Eulera punkt końcowy [t+δt,u(t+δt)] korzystając z f(t,u) w lewym końcu przedziału 2) krok z t do t+δt wykonujemy biorąc średnią arytmetyczną z f na początku i końcu Δt t metoda RK2 trapezów

dla błędu lokalnego O(Δt 3 ) potrzeba aby, rząd Δt: b 1 +b 2 =1, rząd Δt 2 : b 2 c=b 2 a=1/2 punkt środkowy b2=1, b1=0 [b1+b2]=1 czy ma sens b1=1, 1 b2=0?

Metody Rungego Kutty, forma ogólna są to metody jednokrokowe, czyli można zapisać: metoda RK w s odsłonach (stage) (unikamy słowa krok ) z wzory przedstawiane w formie tabel Butchera c A b

Metody Rungego Kutty, forma ogólna czasem zapisywane w postaci: tutaj U i przybliżone rozwiązanie w chwili t n 1 +c i Δt zazwyczaj niższej dokładności niż rozwiązanie ą końcowe

jawne metody Rungego Kutty jawne: a ij =0 dla j i obcięte sumowanie: odsłona i ta wyliczana na podstawie tylko wcześniejszych odsłon historycznie i wszystkie RK były ł jawne, uogólnienie i okazało ł się przydatne dla problemów sztywnych

Wyprowadzanie formuł RK (a,b,c) 1) Rozwijamy rozwiązanie dokładne w szereg Taylora względem t n 1 2) Podstawiamy rozwiązanie dokładne do ogólnej formy RK i rozwijamy względem t n 1 3) Wartości parametrów a,b,c uzyskujemy z porównania. zazwyczaj w sposób niejednoznaczny najbardziej popularne: jawne formuły 4 etapowe RK4: o 4 tym stopniu zbieżności (4 tym rzędzie dokładności) i 5 tym rzędzie ę błędu ę lokalnego ogólna tabela Butchera: dla jawnych RK4 c 1 =0 (dla każdej jawnej RK, zaczynamy k 1 od wyliczenia prawej strony w kroku początkowym)

klasyczna formuła RK4: u(t) k 1 u k 2 k 3 k 4 4 wywołania f na krok, błąd lokalny O(Δt 5 ) gdy f tylko funkcja czasu RK4 gdy f tylko funkcja czasu RK4 redukuje się do formuły Simpsona :

Jawne schematy RK dla układu równań różniczkowych 2 zmienne zależne u 1, u 2, 2 prawe strony f 1, f 2 zapis wektorowy u n 1, u n, f, U 1, U 2,... U N są wektorami o 2 składowych 2 równania, s odsłon (i=12 1,2,...,s)

Tabela Butchera dla klasycznej jawnej RK4 0 0 0 0 0 1/2 1/2 0 0 0 1/2 0 1/2 0 0 1 0 0 1 0 1/6 1/3 1/3 1/6

Dlaczego RK4 najbardziej popularna: Liczba kroków a rząd zbieżności jawnych metod RK: rząd 1 2 3 4 5 6 7 8 minimalna liczba odsłon 1 2 3 4 6 7 9 11 RK4 wyjątkowo opłacalna RK1 metoda RK w jednej odsłonie b1+b2=1, przy b 1 =1, b2=0 dostaniemy jawnego Eulera warunek a*b2=c*b2 =1/2 nie będzie spełniony jawnyschemat Eulera to jawnametoda RK1

jawny Euler tabela Butchera RK2 trapezów tapeó b 1 =b 2 =1/2, a=c=1 RK2 punktu środkowego 0 0 0 1/2 1/2 0 0 1

Szacowanie błędu ę lokalnego w metodach jednokrokowych Po co? 1) W rachunkach numerycznych musimy znać oszacowanie błędu 2) Aby ustawić krok czasowy tak, aby błąd był akceptowalny 3) Gdy oszacowanie jest w miarę dokładne: można poprawić wynik

Oszacowanie błędu lokalnego w metodach jednokrokowych W każdym kroku generujemy nowy błąd w rachunkach. Znamy jego rząd. dla RK: wstawialiśmy rozwiązanie dokładne do schematu i je rozwijaliśmy w szereg T. wybór b 1 =0, b 2 =1, c=1/2, a =1/2 dawał RK2 punktu środkowego 1 2 Rozwijając do jednego rzędu wyżej z Δt uzyskamy oszacowanie błędu lokalnego d n = u(t n ) u n [przy założeniu, że u(t n 1 ) = u n 1 ] świetny i wzór choć ć mało ł praktyczny

Oszacowanie błędu (lokalnego) w metodach jednokrokowych metodą rzędu p z chwili t n 1 wykonujemy krok do t n może zależeć od t n 1 oraz u n 1, ale nie zależy od Δt folia wcześniej szacowanie błędu: 1) ekstrapolacja Richardsona (step doubling) 2) osadzanie (embedding)

ekstrapolacja Richardsona dwa kroki Δt: dostaniemy lepsze oszacowanie u(t n+1 ) t n 1 t n t n+1 Δt Δt jeden krok 2Δt: dostaniemy gorsze oszacowanie u(t n+1 ) t n 1 t n+1 2Δt szacujemy C n z porównania obydwu rozwiązań

ekstrapolacja Richardsona błąd lokalny u(t n ) u n =d n jest: wykonujemy krok następny od t n do t n+1 odchylenie wyniku numerycznego od dokładnego u(t n+1 ) u n+1 = γ d n +d n+1 1) zakładamy, że krok jest na tyle mały, że stała błędu ę się ę nie zmienia C n C n+1 (lub, ze w jednym kroku zmienia się o O(Δt)] wtedy błąd lokalny popełniony w chwili t n+1 jest d n+1 d n. 2) gdy krok mały: współczynnik wzmocnienia błędu γ 1 (błąd ą popełniony p w kroku pierwszym nie jest istotnie wzmacniany) Przy tym założeniu: błąd po drugim kroku suma błędów γ d n +d n+1 2d n,

ekstrapolacja Richardsona t n 1 t n t n+1 Δt Δt to chwili t n+1 dojdziemy z t n 1 w pojedynczym kroku 2Δt t n 1 t n+1 2Δt dostaniemy gorsze oszacowanie u(t n+1 ) chcemy poznać C n (to + znajomość p da nam oszacowanie błędu): odejmujemy niebieskie wzory tak aby wyeliminować rozwiązanie dokładne (nam niedostępne)

ekstrapolacja Richardsona błąd wykonany po dwóch krokach Δt wynosi więc: pierwszy wniosek: jeśli znamy rząd metody p to potrafimy go podnieść o jeden

ekstrapolacja Richardsona podnosimy rząd dokładności metody algorytm

Przykład: r. dokładne: ekstrapolacja Richardsona Euler (p=1) błąd lokalny O(Δt 2 ) Euler po poprawce: błąd lokalny l O(Δt 3 ) kreski: RK2 punktu środkowego (p=2), b.lok. O(Δt 3 ) znając rząd dokładności możemy radykalnie poprawić dokładność metody przy natdatku (50 procent) numeryki

Euler ekstrapolacja Richardsona RK2 RK2 z odciętym błędem

Oszacowanie błędu lokalnego w metodach jednokrokowych 1) ekstrapolacja Richardsona (step doubling) 2) osadzanie (embedding) cel: szacujemy błąd lokalny metody rzędu p przy pomocy lepszej metody, np. rzędu p+1 obydwie metody szacują rozwiązanie w tych samych chwilach czasowych co daje oszacowanie błędu gorszej metody nie nadaje się do poprawiania schematu p po cóż zresztą poprawiać gdy mamy p+1

celem szacowania błędu nie jest poprawa wyniku, (dla poprawy p zawsze można Δt zmienić) lecz adaptacja Δt : stały krok zawsze może okazać się zbyt wielki albo zbyt mały. JAKI KROK CZASOWY SYMULACJI USTAWIĆ JAKI KROK CZASOWY SYMULACJI USTAWIĆ gdy coś ciekawego zdarza się tylko czasem?

Automatyczna kontrola kroku czasowego dla metod jednokrokowych Program może sam dobierać krok czasowy w zależności od tego co dzieje się w symulacji. Chcemy utrzymać błąd na poziomie zbliżonym do parametru tol. nie większy aby zachować wymaganą dokładność, nie mniejszy aby nie tracić ć czasu casuna rachunki zbyt dokładne Szacujemy błąd lokalny E (ekstrapolacja Richardsona lub metody embedding) E=C[Δt] p+1 chcemy zmienić krok odpowiednio do naszych wymagań z Δt do Δt(nowy) tol=c[δt(nowy)] p+1 Δt(nowy)=(tol/E) 1/(p+1) Δt Δt(nowy)=(S) (S tol /E) 1/(p+1) Δt dla bezpieczeństwa ń S<1 wzór zwiększy zbyt mały krok i vice versa uwaga: błąd jest szacowany, zawsze warto dorzucić sztywne ograniczenia na Δt

Automatyczna kontrola kroku czasowego dla metod jednokrokowych symulacja ustawiająca krok czasowy może wyglądać np. tak: u 0 = warunek początkowy t 0 =0 n=1 do { jeśli E<tol { tn:=tn+δt n:=n+1 (oznacza akceptację wyniku) } Δt:=(S tol /E) 1/(p+1) Δt } while ( t<t)

Przykład: oscylator harmoniczny używane oszacowanie błędu z RK2 Uwaga: tutaj rozwiązania nie poprawiamy przez ekstrapolacje kt tolerancja błędu obcięcia tol=0.1 start RK2 V (t) V (t t) tol=1e 2 x 2 V 2 Δt x (t) x (t) (t) V tol=1e 3 x (t) algorytm ustawia minimalny krok czasowy gdy zmiany prędkości lub położenia są maksymalne

wyniki Konrada Rekiecia RK4 spirala się skręca zamiast rozkręcać E(t) RK2 tol=.1 RK4 przy założonej tolerancji RK4 wcale nie jest dokładniejsze od RK2

dt... tylko pozwala stawiać dłuższe kroki