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

Podobne dokumenty
x y

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

Definicja pochodnej cząstkowej

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

ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1. Wykład 3. Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia optymalizacyjnego:

Rozwiązywanie równań nieliniowych

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

1 Równania nieliniowe

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Matematyka stosowana i metody numeryczne

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

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

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

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

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Komputerowa analiza zagadnień różniczkowych 6. Metody wielokrokowe. P. F. Góra

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

Metody numeryczne I Równania nieliniowe

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

Całkowanie numeryczne

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

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

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

Wykład X Rozwiązywanie zagadnień początkowych dla równań różniczkowych zwyczajnych

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

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

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

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

Bardzo łatwa lista powtórkowa

Wstęp do metod numerycznych 14. Kilka wstępnych uwag na temat numerycznego rozwiazywania równań różniczkowych zwyczajnych

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 8. Metody wielokrokowe Metody Verleta

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

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

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Całkowanie numeryczne przy użyciu kwadratur

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

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

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

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

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

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

KADD Minimalizacja funkcji

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Metody Prognozowania

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

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

Przykładowy program ćwiczeń

Obliczenia naukowe Wykład nr 6

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

Paweł Kłosowski Andrzej Ambroziak METODY NUMERYCZNE W MECHANICE KONSTRUKCJI Z PRZYKŁADAMI W PROGRAMIE

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

Iteracyjne rozwiązywanie równań

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

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

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Laboratorium Techniki Obliczeniowej i Symulacyjnej

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

INTERPOLACJA I APROKSYMACJA FUNKCJI

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

ALGORYTMY OPTYMALIZACJI wyklad 1.nb 1. Wykład 1

Układy równań liniowych. Ax = b (1)

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

Egzamin z Metod Numerycznych ZSI, Grupa: A

OPRACOWANIE MONIKA KASIELSKA

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Rachunek różniczkowy funkcji dwóch zmiennych

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t

Analiza matematyczna Mathematical analysis. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

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

Badanie stabilności liniowych układów sterowania

Równania różniczkowe liniowe II rzędu

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

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

Stabilność II Metody Lapunowa badania stabilności

Zajęcia ćwiczeniowe nr 2/8: Metoda Newtona

Wprowadzenie do Mathcada 1

Analiza matematyczna Mathematical analysis. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Wstęp do metod numerycznych 11. Minimalizacja: funkcje jednej zmiennej. P. F. Góra

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

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

1 Wykład 4. Proste Prawa wielkich liczb, CTG i metody Monte Carlo

OBLICZANIE POCHODNYCH FUNKCJI.

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena.

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Matematyka 2. Równania różniczkowe zwyczajne rzędu drugiego

UKŁADY RÓWNAŃ LINIOWYCH

Równania różniczkowe zwyczajne

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Nazwa modułu kształcenia Nazwa jednostki prowadzącej moduł Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Transkrypt:

Metoda Runge-Kutta-Fehlberga i sterowanie długością kroku Cel: Dla zadanej tolerancji e wybrać minimalną liczbę węzłów, wystarczającą do utrzymania globalnego błedu w ramach tolerancji. Błąd globalny trudny do badania ï zajmujemy sie błedem lokalnym ï strategia - w kazdym etapie sterować długością kroku Realizacja praktyczna Analiza: Dane są dwa algorytmy: z n = y n-1 + h FHx n-1, z n-1 L z błędem lokalnym E n T HFL = yhx n L - z n = K F h p+1 = OHh p+1 L w n = y n-1 + h GHx n-1, w n-1 L z błędem lokalnym E n T HGL = yhx n L - w n = K G h q+1 = OHh q+1 L, q p + 1 Stąd: yhx n L = z n + K F h p+1 oraz yhx n L = w n + K G h q+1. Po odjęciu Wtedy w n - z n = K G h q+1 - K F h p+1 º K F h q+1 - K F h p+1 = K F Hh q+1 - h p+1 L ï K F º wn-zn ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ h q+1 -h p+1. E n T HFL = K F h p+1 º wn-zn ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ h q+1 -h p+1 hp+1 = w n-zn ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ h q-p -1 W szczególności dla q = p + 1 E T n HFL º ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ w n-zn h-1 º z n - w n dla h dostatecznie małych. Algorytm: obliczyliśmy aproksymację yhx n-1 L z krokiem h i chcemy przybliŝyć yhx n L = yhx n-1 + hl Obliczamy z n i w n z krokiem h. JeŜeli»z n - w n» e akceptujemy w n jako przybliŝenie yhx n L (albo zwiększamy krok. h Ø 2 h i sprawdzamy czy» z n - w n» e ) JeŜeli nie, to h Ø ÅÅÅÅ h i powtarzamy obliczenia, aŝ» z 2 n - w n» e. Typowy wybór metody dla z n : metoda Runge-Kutty 4 rzędu Typowy wybór metody dla w n : metoda Runge-Kutty 5 rzędu Algorytm Runge-Kutta-Fehlberga: modyfikacja metod Runge-Kutta tak, aby w metodzie 5 rzędu wykorzystać obliczone wcześniej współczynniki.

z n = y n-1 + hh25ê216 F 1 + 1408ê2565 F 3 + 2197ê4104 F 4-1ê5 F 5 L (4 rząd) w n = y n-1 + hh16ê135 F 1 + 6656ê12825 F 3 + 28561ê56430 F 4-9ê50 F 5 + 2ê55 F 6 L (5 rząd) gdzie F 1 = fhx n-1, y n-1 L F 2 = fhx n-1 + 1ê4 h, y n-1 + 1ê4 h F 1 L F 3 = fhx n-1 + 3ê8 h, y n-1 + 3ê32 h F 1 + 9ê32 h F 2 L F 4 = fhx n-1 + 12ê13 h, y n-1 + 1932ê2197 h F 1-7200ê2197 h F 2 + 7296ê2197 h F 3 L F 5 = fhx n-1 + h, y n-1 + 439ê216 h F 1-8 h F 2 + 3680ê513 h F 3-845ê4104 h F 4 L F 6 = fhx n-1 + 1ê2 h,. y n-1-8ê27 h F 1 + 2 h F 2-3544ê2565 h F 3 + 1859ê4104 h F 4-11ê40 h F 5 L Wzmianka o metodach wielokrokowych Def: JeŜeli w danej metodzie do przybliŝenia yhx n L uŝywamy poprzednio obliczonych wartości y n-1, y n-2,, y n-m, gdzie m jest ustalone to metodę nazywamy m-krokową Uwaga: Do tej pory omawialiśmy metody 1-krokowe Szkic idei: ÅÅÅÅÅÅÅ = fhx, yl ï Ÿ xn d x xn-1 xn =Ÿ xn-1 yhx n L = yhx n-1 L xn +Ÿ xn-1 fhx, yhxll d x. y n = y n-1 + h FHx n-1,..., x n-m, y n-1,..., y n-m L, n = 1, 2,... fhx, yhxll d x ï yhx n L - yhx n-1 L xn =Ÿ xn-1 fhx, yhxll d x or Do przybliŝonego obliczenia całki uzywamy np. interpolacji opartej na węzłach x n-1, x n-2,, x n-m i wartościach w węzłach 8y n-1, y n-2,, y n-m <. Przykład: metoda Adams-Bashfortha Interpolujemy fhx, yhxll = FHxL na węzłach: 8x n-1,, x n-m < przy pomocy wstecznego wzoru Newtona i całkujemy otrzymany wzór. W efekcie

y n = y n-1 + h m-1 k=0 a k k f n-1, gdzie a k stałe wyliczalne. Przypadki specjalne: m = 1: m = 2: y n = y n-1 + h fhx n-1, y n-1 L (Metoda Eulera) y n = y n-1 + h ÅÅÅÅ 2 @3 fhx n-1, y n-1 L - fhx n-2, y n-2 LD (2-krokowa m. Adams-Bashfortha) m = 3: y n = y n-1 + h ÅÅÅÅÅÅ 12 @23 fhx n-1, y n-1 L - 16 fhx n-2, y n-2 L + 5 fhx n-3, y n-3 LD (3-krokowa ) Uwaga: 1.W metodach wielokrokowych potrzebujemy więcej warunków startowych y 0, y 1,, y m. Wyliczamy je jakąś metodą 1-krokową (np. Runge-Kutta) 2. Lokalny błąd w metodzie Adams-Bashfortha jest o 1 wyŝszy od liczby kroków. Wzmianka o metodach predyktor-korektor Def: Metodę (1- lub wielokrokową) nazywamy otwartą (jawną) jeŝeli y n dane jest jawnym wzorem, np. y n = y n-1 + h m j=1 g j fhx n- j, y n- j L, odpowiednio zamkniętą (uwikłaną) jeŝeli y n dane jest przy pomocy równania, np. y n = y n-1 + h m j=0 d j fhx n- j, y n- j L. Uwaga: w metodzie zamkniętej w kaŝdym kroku musimy rozwiązać równanie (nieliniowe). Przykład metody zamkniętej dla ÅÅÅÅÅÅÅÅ d x = fhx, yl, yhx 0L = y 0 : yhx n L = yhx n-1 L xn +Ÿ xn-1 fhx, yl d x gdzie x n - x n-1 = h. Niech FHxL = fhx, yhxll i uŝywamy metody trapezów do przybliŝenia całki xn Ÿ xn-1 fhx, yl d x =Ÿ xn xn-1 FHxL d x º h ÅÅÅÅ 2 @FHx nl + FHx n-1 LD. Stąd y n = y n-1 + h ÅÅÅÅ 2 @ fhx n, y n L + fhx n-1, y n-1 LD. Błąd lokalny: E n T = - 1 ÅÅÅÅÅÅ 12 h3 F '' Hx n L Do rozwiązania równania na y n uŝywamy ciagu kolejnych przybliŝeń postaci y n HkL = y n-1 + h ÅÅÅÅ 2 @ fhx n, y n Hk-1L L + fhx n-1, y n-1 LD, k = 1, 2,.

Potrzebujemy dobrego punktu startowego: y H0L n. MoŜemy go uzyskać jaką metodą otwartą np. metodą Eulera y H0L n = y n-1 + h fhx n-1, y n-1 L. Czyli algorytm składa się z dwóch kroków: 1. Wyznaczenie y H0L n metodą otwartą (predyktor) 2. Poprawienie rozwiązania przy pomocy metody zamkniętej (korektor) i ciągu kolejnych przybliŝeń Uwagi. 1. Potrzebna analiza matemtayczna kiedy ciąg kolejnych przybliŝeń jest zbiezny. 2. Podobnie jak poprzednio moŝna zaprojektować metodę predyktor-korektor ze zmiennym krokiem. Równania wyŝszych rzędów i układy Równanie wyŝszego rzędu przekształcamy do układu 1 rzędu (równania wektorowego). Obserwacja: wiele metod przenosi się automatycznie na przypadek wektorowy (np. Runge-Kutta) (Nie)Stabilność numeryczna - ostrzeŝenie Przykład: ÅÅÅÅÅÅÅ = - y, yh0l = 2. Porównujemy metodę Eulera y d x n = y n-1 + h fhx n-1, y n-1 L, n = 1, 2, i metodę 2-krokową y n = y n-2 + 2 h fhx n-1, y n-1 L, n = 2, 3, w zadaniu przybliŝenia yh1l i yh10l. Dla y(1) mamy: n h= 10n 1 Euler Two step Error: Euler Error: Two step 1 0.1 0.697357 0.74862 0.038402 0.012861 2 0.01 0.732065 0.735889 0.0036942 0.000129771 3 0.001 0.735391 0.73576 0.000368033 1.29783 10 6 4 0.0001 0.735722 0.735759 0.0000367895 1.29783 10 8 5 0.00001 0.735755 0.735759 3.67881 10 6 1.29769 10 10 Dla yh10l. n h= 1 10 n Euler Two step Error: Euler Error: Two step 1 0.1 0.0000531228 107.514 0.0000376771 107.514 2 0.01 0.0000863425 1.10115 4.45736 10 6 1.10106 3 0.001 0.0000903467 0.011104 4.53168 10 7 0.0110132 4 0.0001 0.0000907545 0.000200932 4.53916 10 8 0.000110132

To nie jest wpływ round-off error! Aby zobaczyćto dokładniej analizujemy: ÅÅÅÅÅÅÅ d x = 30 x2 Hy - 1L, yh1l = 1. Łatwo policzyć, Ŝe yhxl ª 1. Stosujemy 2-krokową metode do x = 2. y n = y n-2 + 2 h fhx n-1, y n-1 L = y n-2 + 60 h x2 n-1 Hy n-1-1l gdzie x n = 1 + n h. y 0 = 1, niech y 1 = 1 + e gdzie»e»<< 1. Wybieramy h = 0.1 i obliczamy y 10 jakimś programem obliczeń symbolicznych k = 0 x k = 1. y k = 1. k = 1 x k = 1.1 y k = 1.+ε k = 2 x k = 1.2 y k = 1.+4.84ε k = 3 x k = 1.3 y k = 1.+28.8784ε k = 4 x k = 1.4 y k = 1.+200.058ε k = 5 x k = 1.5 y k = 1.+1597.33ε k = 6 x k = 1.6 y k = 1.+14576.1ε k = 7 x k = 1.7 y k = 1.+150856.ε k = 8 x k = 1.8 y k = 1.+1.75847 10 6 ε k = 9 x k = 1.9 y k = 1.+2.29407 10 7 ε k = 10 x k = 2. y k = 1.+3.33022 10 8 ε JeŜeli e = 10-8, to błąd:» yh10l - y 10» = 3.3302 (względny 333%!!) Metoda niestabilna numerycznie (częste zjawisko w metodach wielokrokowych) Dla porównania metoda Eulera z y 1 = 1 + e. k = 0 x k = 1. y k = 1. k = 1 x k = 1.1 y k = 1.+ε k = 2 x k = 1.2 y k = 1.+3.42ε k = 3 x k = 1.3 y k = 1.+13.2696ε k = 4 x k = 1.4 y k = 1.+58.1208ε k = 5 x k = 1.5 y k = 1.+285.955ε k = 6 x k = 1.6 y k = 1.+1572.75ε k = 7 x k = 1.7 y k = 1.+9625.23ε k = 8 x k = 1.8 y k = 1.+65259.1ε k = 9 x k = 1.9 y k = 1.+488138.ε k = 10 x k = 2. y k = 1.+4.01249 10 6 ε

Dla e = 10-8, mamy:» yh10l - y 10» = 0.04. Równania sztywne (stiff) Przykład: ÅÅÅÅÅÅÅ d x = l y, yh0l = 1, l œ. ( Rozwiązanie dokładne yhxl = el x ). Budujemy przybliŝenia metodą Eulera w 8x 0 = 1, x 1,, x N <: y n = y n-1 + h fhx n-1, y n-1 L = y n-1 + l h y n-1 =H1 + l hl y n-1, n = 1, 2,, N. Ciąg geometryczny, stąd jawny wzór : y n =H1 + l hl n, n = 0, 1, 2,, N. Niech l < 0. Rozwiązanie dokładne maleje, ale przybliŝone tylko wtedy gdy» 1 + l h» < 1 ï -1 < 1 + l h < 1. PoniewaŜ h > 0, to -1 < 1 + l h ï h < - ÅÅÅÅ 2. l Np. dla l = -100, potrzebny krok h < 0.05, przy większym ciąg rozbieŝny!. Rozwiązanie (wykres!) składa się z dwóch części: krótka, gdzie gwałtownie maleje (transient solution), a nstepnie jest prawie stałe (steady-state). Problemy, które mają tego typu rozwiązania nazywamy sztywnymi (geneza - sztywne spręŝyny). Potrzebne są specjalne metody numeryczne (na ogół ze zmiennym krokiem, aby niepotrzebnie nie tracić czasu w stanie stałym). Uwaga: zamknięta metoda Eulera jest tu stabilna bez względu na h! y n = y n-1 + h fhx n, y n L, n = 1, 2,, N. y n = y n-1 + l h y n ï y n = ÅÅÅÅÅÅÅÅÅÅÅÅ y n-1, n = 1, 2,, N. Warunek dla l < 0 1-l h 1 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ»1-l h» < 1 jest zawsze spełniony dla h > 0.