Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Szacowanie błędu lokalnego w metodach jednokrokowych Po co? 1)W rachunkach numerycznych musimy znać oszacowanie błędu 2)Gdy oszacowanie jest w miarę dokładne:

Podobne prezentacje


Prezentacja na temat: "Szacowanie błędu lokalnego w metodach jednokrokowych Po co? 1)W rachunkach numerycznych musimy znać oszacowanie błędu 2)Gdy oszacowanie jest w miarę dokładne:"— Zapis prezentacji:

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

2 Oszacowanie błędu lokalnego w metodach jednokrokowych wybór b 1 =0, b 2 =1, c=1/2, a=1/2 dawał RK2 punktu środkowego 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. 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 wzór choć mało praktyczny

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

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

5 błąd lokalny u(t n )-u n =d n jest: wykonujemy krok następny od t n do t 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 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 odchylenie wyniku numerycznego od dokładnego u(t n+1 )-u n+1 =  d n +d n+1

6 to chwili t n+1 dojdziemy z t n-1 w pojedynczym kroku 2  t t n-1 t n t n+1 t n-1 t n+1 tt tt  t 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) dostaniemy gorsze oszacowanie u(t n+1 ) ekstrapolacja Richardsona

7 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

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

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

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

11 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

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

13 Automatyczna kontrola kroku czasowego dla metod jednokrokowych  t(nowy)=(S tol /E) 1/(p+1)  t dla bezpieczeństwa S<1  t(nowy)=(tol/E) 1/(p+1)  t Program może sam dobierać krok czasowy w zależności od tego co dzieje się w symulacji. Szacujemy błąd lokalny E (ekstrapolacja Richardsona lub metody embedding) 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 na rachunki zbyt dokładne E=C[  t] p+1 chcemy zmienić krok odpowiednio do naszych wymagań z  t do  t(nowy) tol=C[  t(nowy)] p+1 wzór zwiększy zbyt mały krok i vice versa uwaga: błąd jest szacowany, zawsze warto dorzucić sztywne ograniczenia na  t

14 Automatyczna kontrola kroku czasowego dla metod jednokrokowych jeśli E

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

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

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

18 Problemy sztywne

19 u(0)=0 proste równanie traktowane jawnym schematem Eulera

20 niech  >> 0 szybkozmienna składowa wolnozmienna  prosty problem nieco komplikujemy

21 rozwiązanie  krok dt=0.02 jest bardzo drobny w porównaniu ze skalą zmienności składowej parabolicznej krzyżyki : t 2 kółka : t 2 + exp(-100t)

22 rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021  krok dt=0.02 okazuje się zbyt długi gdy włączyć składową szybkozmienną nawet tam, gdy znika ona z rozwiązania

23 rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021  część szybkozmienna gaśnie szybko, ale w schemacie jawnym Eulera nakłada ograniczenie na krok czasowy : u’=-  u  =100  dt<0.02, gdy szybkozmienna składowa zaniknie dt jest bardzo mały w porównaniu do skali zmienności u(t)

24  t Re( )  t Im ( ) 1  t Re( )  t Im ( ) -2 1 metoda Eulera jawna niejawna metoda Eulera regiony stabilności metod Eulera w metodzie niejawnej problemu ze stabilnością bezwzględna nie ma...

25 niejawna metoda Eulera: zastosowanie do problemu sztywnego dokładny dt=0.02 dt=0.04 rozwiązania są stabilne i dokładne dla dużych t nawet gdy dt duże dla małych t można wstawić mniejsze dt, potem krok zwiększyć

26 Problemy sztywne (drętwe) (stiff, stiffness) Problem jest praktyczny i ścisłej definicji, która byłaby użyteczna, nie ma. Jedna z możliwych: problem jest sztywny, gdy stosując schemat jawny musimy przyjąć krok czasowy bardzo mały w porównaniu ze skalą zmienności funkcji. RRZ jest problemem sztywnym gdy: 1.Problem jest charakteryzowany bardzo różnymi skalami czasowymi 2.Stabilność bzwz nakłada silniejsze ograniczenia na krok czasowy niż dokładność. 3.Metody jawne się nie sprawdzają. niech  >> 0 szybkozmienna składowa wolnozmienna

27 Problemy sztywne (drętwe) (stiff) Ogólna postać układu równań pierwszego rzędu wektor R n fcja R  R n  R Tylko niekiedy można podać rozwiązanie w zamkniętej formie analitycznej. Można, np. dla jednorodnego problemu liniowego problem najczęściej spotykany dla układ równań różniczkowych opisujących sprzężone procesy o bardzo różnych skalach czasowych

28 gdzie np. problem rozpadu promieniotwórczego Izotop 2 o stałej rozpadu 2 rozpada się promieniotwórczo na inny izotop 1 o stałej rozpadu 1 c j liczone z warunku początkowego y 1 (0)=0 y 2 (0)=1 dla niezdegenerowanych wartości własnych problemy sztywne wartości własne – 1, – 2 rozłożyć warunek początkowy na wektory własne

29 problemy sztywne gdy duża rozpiętość między minimalną a maksymalną wartością własną | max / min |>>1: wektor własny który odpowiada największej wartości własnej wygaśnie najprędzej, ale (dla metod jawnych) pozostawi najsilniejsze ograniczenie dla kroku czasowego (np. Euler, RK2 dt<2/| max |) jesteśmy zmuszeni przyjąć malutki krok w porównaniu z przebiegiem rozwiązania (w przeciwnym wypadku eksplozja) duże różnice skal czasowych

30 podobny do poprzedniego problem sztywny z liniowego równania drugiego rzędu o bliskich współczynnikach następny przykład: wartości / wektory własne: -1 / [-1,1] T / [1,-1000] T bardzo różne skale czasowe u’’+1001u’+1000u=0

31 szczególnie dotkliwy przypadek: równanie niejednorodne (bez rozwiązania analitycznego) Rozwiązanie będzie miało postać: stan przejściowy (wszystkie zgasną) stan ustalony wolnozmienny Na czym polega problem? : Rozwiązując problem numerycznie metodą jawną (Euler, RK2) musimy przyjąć krok czasowy  t < 2/| _max| aby uniknąć eksplozji rozwiązań nawet gdy wszystkie wyrazy z powyższej sumy w rozwiązaniu znikają problemy sztywne załóżmy, że wartości własne A są ujemne

32 y 2 (0)=1 y 1 (0)=0 1 =1/10 2 =1/ bardzo wolno się rozpada [taka i większa rozpiętość lambd typowa również dla reakcji chemicznych spotykana również dla układów elektrycznych] y 2 – izotop matka wolno rozpadająca się na y 1 y 1 – izotop szybko rozpadający się, niejednorodność: dodatkowo pewna ilość jest w stałym tempie doprowadzana z zewnątrz przy zaniedbywalnej wielkości 2 y 1 =0.5 spełnia pierwsze równanie

33 tol=0.001 t t tt automatyczna kontrola kroku czasowego dla jawnego RK2 z krokiem czasowym ustawianym przez ekstrapolację Richardsona tol= w obydwu przypadkach  t tylko chwilowo przekracza krytyczną wartość 2/(1/10)=20 zęby: zaakceptowane błędy y y t 1 =1/10 2 =1/10 000

34 RK / 1

35 Wzór trapezów stały krok, bardzo dłuuugi stały  t=200 nic złego się nie dzieje ze stabilnością w stanie „ustalonym” Zastosujmy metodę A-stabilną = wzór trapezów (p=2) t y

36 Wzór trapezów i krok automatycznie dobierany przez ekstrapolację Richardsona tol=0.01 kropki -tam gdzie postawiony krok Krok czasowy – zmienność 4 rzędów wielkości. raptem 10 kroków i załatwione! zamiast 10 4 kroków RK4 t t y y

37 trapezy (najdokładniejsza metoda A-stabilna spośród wielokrokowych) tt maksymalnie parę tysięcy metoda trapezów: jako A-stabilna radzi sobie nieźle z doborem kroku czasowego w problemach sztywnych – ale jest stosunkowo mało dokładna dokładniejsza A-stabilna pozwoliłaby stawiać jeszcze dłuższe kroki niestety = dokładniejszej A-stabilnej tej w klasie metod (liniowe wielokrokowe) nie ma dlatego : niejawne metody RK (jednokrokowe, nieliniowe) poziom jawnych RK t y t z tolerancją

38 trapezy z tolerancją (najdokładniejsza metoda A-stabilna spośród wielokrokowych) niejawna dwustopniowa metoda RK (rzędu 4) z tolerancją (A-stabilna) tt tt maksymalnie parę tysięcy maksymalnie kilkadziesiąt tysięcy t t tt y y

39 Mówimy, że RRZ jest problemem sztywnym gdy: 1.Problem jest charakteryzowany różnymi skalami czasowymi. 2.Stabilność bzwz nakłada silniejsze ograniczenia na krok czasowy niż dokładność. 3.Metody jawne się nie sprawdzają. Następny przykład: sztywny problem w pojedynczym równaniu: dla dużych t – rozwiązanie ustalone u(t)=cos(t) dwie bardzo różne skale czasowe 1) rozwiązania ustalonego okres 2pi 2) skala czasowa tłumienia „odchylenia od stanu ustalonego” exp(-100 t) – czasowa stała zaniku 0.01

40 z u(0)=2 rozwiązanie: „stacjonarne” u(t)=cos(t)  t < 2/|  | rozpoznajemy ograniczenie: Stały krok czasowy: jawny schemat Eulera

41 niejawny schemat Eulera – krok stały dt=0.1 dt=0.2 dt=0.5 tutaj: startowane od warunku u(0)=1

42 wyniki do uzyskania na laboratorium start u(0)=2,tolerancja 1e-2 niejawny, jawny, cos (t) niejawny jawny t niejawny Euler tolerancja 1e-3 niejawny, jawny, cos (t) tol1e-2 tol1e-3 tol 1e-6 akceptowane dt gdy wymagana b. duża dokładność niejawny stawia równie krótkie kroki co jawny, obydwie metody tego samego rzędu dokładności akceptowane dt

43 następny przykład: równanie swobodnego oscylatora van der Pola [historycznie = odkrycie deterministycznego chaosu w lampach firmy Philips aperiodyczne oscylacje przy periodycznym wymuszeniu ] ( =0 = zwykły o. harmoniczny) =100 jawny RK4 = zmienny krok czasowy =1 punkt u(t) policzony = krzyż po lewej: krzyże położone rozsądnie w porównaniu ze zmiennością rozwiązania po prawej: problem sztywny gładkie rozwiązanie a krzyże się zlewają u tt u

44 równanie: czasem sztywne czasem nie przydałoby się narzędzie do wykrywania sztywności np. dla podjęcia decyzji: tam gdzie sztywność = schemat niejawny tam gdzie nie = schemat jawny (tańszy) t u

45 Detekcja sztywności dla problemu nieliniowego (dla liniowego = wystarczy rozwiązać problem własny macierzy układu równań) układ N równań (u,f-wektory) w chwili t rozwiązanie u * (t) rozwiązanie chwilę później opisane przez odchylenie  u(t) od u * u(t)= u * (t) +  u(t) linearyzacja: zakładamy, że odchylenie małe, rozwijamy f(t,u) względem u wokół f(t,u * ): [Taylor dla wektora] macierz Jakobiego [N na N]

46 problem zlinearyzowany B bez znaczenia dla stabilności rozwiązać problem własny A: dostaniemy wartości własne i : Aby rachunek się powiódł:  t i musi leżeć w regionie stabilności używanej metody dla wszystkich i. Jeśli duża rozpiętość : problem będzie sztywny. +B

47 Przykład: nieliniowy układ równań z warunkowo występującą sztywnością jeśli druga składowa u urośnie – macierz prawie diagonalna z szerokim zakresem wartości własnych - sztywność

48 Przykład detekcja sztywności dla: oscylatora van der Pola wartości własne:

49 t t niebieskie i czarne: części rzeczywiste wartości własnych =1 =100 dt t t jawny RK +automat dt w w

50 t t =1 =100 dt t t jawny RK +automat dt w w t u(t)

51 Metody RK – własności tabel Butchera 1)do regionów stabilności jawnych RK 2) do metod niejawnych RK ogólna dla metod jawnych w wersji ogólnej (niejawnej = sumowanie do s)

52 Metoda musi być dokładna dla rozwiązania stałego: w przeciwnym wypadku powstanie błąd lokalny O(  t) (metoda nie będzie zbieżna zerowy rząd zbieżności  ) jeśli f=0 to u n =u n-1 to mamy zawsze podobnie, jeśli rząd zbieżności 1 (jak Euler) lub więcej = wynik dokładny dla funkcji liniowej f=1 np RK4

53 zażądajmy aby rozwiązania pośrednie U i (dla chwili t n-1 +c i  t) były rzędu zbieżności pierwszego (nie gorsze niż Euler). Mają działać dokładnie dla f=1 i rozwiązania u=D+t, co daje: u(t+dt)=u(t)+dt dla RK4: / /61/3 1/6 rozwiązania pośrednie = mniej dokładne niż wynik końcowy, ale:

54 Zastosowanie do tabeli Butchera RK4: metoda RK rzędu dokładności p jeśli działać będzie dokładnie dla wielomianów stopnia p dla l=1,2,...,p z rozwiązaniem: wstawić / /61/3 1/6 ½= 1/6 *0 +1/3*1/2+1/3*1/2+1/6*1=3/6 1/3= 1/3 * ¼ +1/3 * ¼+1/6=2/6 ¼=1/3*1/8+1/3*1/8+1/6=1/12+1/6=3/12 dla l=5 prawa strona= warunki tego typu są konieczne, ale nie wystarczające do wyznaczenia całej tabeli B. można podać więcej rozważając inne równania i wykorzystując założony rząd dokładności metody. l =1 poznajemy

55 można podać więcej rozważając inne równania i wykorzystując założony rząd dokładności metody. [zapisujemy dla ogólnej, tj. ewentualnie niejawnej RK] u’= u w notacji wektorowej z oznaczeniami: (1) (2) z (2) eliminujemy U wstawiamy do (1)

56 u’= u dokładne rozwiązanie u(t)= exp(t) u n = exp(  t)u n-1 dokładne: RK: zrównując wyrazy tego samego rzędu w  t dla metody RK rzędu dokładności p czyli dla k=1,2,..,p

57 dla k=1,2,..,p k=1 k=2 wcześniej dowiedzieliśmy się, że dla l=2 da wzór po lewej (zał. że pośrednie min rzędu 2) oraz nowe niezależne warunki dostaniemy dla k>2

58 stabilność bezwzględna jawnych metod RK u’= u z oznaczeniem z= t dostaniemy wg wcześniejszej analizy metoda RK rzędu p dokładnie odtwarza p pierwszych wyrazów r.T rozwiązania dokładnego dla k=1,2,..,p

59 stabilność bezwzględna jawnych metod RK u’= u z oznaczeniem z= t dostaniemy wg wcześniejszej analizy metoda RK rzędu p dokładnie odtwarza p pierwszych wyrazów r.T rozwiązania dokładnego dla k=1,2,..,p

60 stabilność bezwzględna jawnych metod RK u’= u z oznaczeniem z= t dostaniemy wg wcześniejszej analizy metoda RK rzędu p dokładnie odtwarza p pierwszych wyrazów r.T rozwiązania dokładnego macierz A dla jawnych dolna trójkątna bez diagonali dla m  s dlatego: - możemy urwać drugą sumę współczynnik wzmocnienia dla jawnych RK jest wielomianem dla k=1,2,..,p

61 Liczba kroków a rząd zbieżności jawnych metod RK: rząd p minimalna liczba odsłon s czyli dla p  4 druga suma znika, mamy dokładnie: rozwiązanie dokładne u=exp( t) RK dokładności p dokładnie odtwarza pierwsze p wyrazów rozwinięcia Taylora rozwiązania dokładnego stąd współczynnik wzmocnienia dla RK1,RK2,RK3 i RK4 rząd dokładności liczba stopni (odsłon) metody zamiast 

62 Stabilność bezwzględna RK ponadto: dla p  4 mamy dla stabilności bezwzględnej: wniosek: region stabilności bezwzględnej jawnych metod RK o rzędzie dokładności nie większym niż 4 jest niezależny od wyboru a,b,c ! w szczególności dwie poznane metody rzędu drugiego: mają ten sam region stabilności

63 dt Im( ) dt Re( ) rejony bezwzględnej stabilności jawnych metod RK w s-odsłonach dla danego s – rejony identyczne dla wszystkich wariantów Euler RK2 rysunek skopiowany z Quarteroni: Numerical Mathematics zakres stabilności rośnie z rzędem dokładności zobaczymy, że przeciwnie niż dla liniowych formuł wielokrokowych! RK3/RK4 obejmują również fragment Re( )>0 dla rzeczywistego  region stabilności: dt RK1(-2,0) RK2(-2,0) RK3(-2.51,0) RK4(-2.78,0)


Pobierz ppt "Szacowanie błędu lokalnego w metodach jednokrokowych Po co? 1)W rachunkach numerycznych musimy znać oszacowanie błędu 2)Gdy oszacowanie jest w miarę dokładne:"

Podobne prezentacje


Reklamy Google