met num rown rozniczkowe wyklad


Równania różniczkowe  metody numeryczne
Dariusz Uciński
Instytut Sterowania i Systemów Informatycznych
Universytet Zielonogórski
Wykład 9
Dariusz Uciński Równania różniczkowe  metody numeryczne
Metoda Eulera
Rozważmy równanie różniczkowe
dy(t)
= f (t, y(t)), y(t0) = y0
dt
którego rozwiązanie chcemy wyznaczyć w przedziale [t0, tf ].
Podzielmy [t0, tf ] na N podprzedziałów o długości
tf - t0
h =
N
Wielkość h nazywamy długością kroku. Ustalamy
tk = t0 + kh, k = 1, . . . , N
Dariusz Uciński Równania różniczkowe  metody numeryczne
Metoda Eulera
Przybliżmy pochodną w chwili tk ilorazem różnicowym:
dy(tk) y(tk+1) - y(tk)
H"
dt h
Można więc zapisać
y(tk+1) - y(tk)
= f (tk, y(tk))
h
Oznacza to, że dla k = 1, . . . , N zachodzi
Schemat Eulera wprzód
y(tk+1) = y(tk) + h f (tk, y(tk))
Dariusz Uciński Równania różniczkowe  metody numeryczne
Metoda Eulera
Przybliżmy pochodną w chwili tk ilorazem różnicowym:
dy(tk) y(tk+1) - y(tk)
H"
dt h
Można więc zapisać
y(tk+1) - y(tk)
= f (tk, y(tk))
h
Oznacza to, że dla k = 1, . . . , N zachodzi
Schemat Eulera wprzód
y(tk+1) = y(tk) + h f (tk, y(tk))
Dariusz Uciński Równania różniczkowe  metody numeryczne
Alternatywne wyprowadzenie metody Eulera
Całkując obie strony równania
dy(t)
= f (t, y(t)), y(t0) = y0
dt
otrzymamy

tk +h tk +h
dy(t)
dt = f (t, y(t)) dt
dt
tk tk
czyli

tk +h
y(tk + h) - y(tk) = f (t, y(t)) dt

tk
g(t)
Dariusz Uciński Równania różniczkowe  metody numeryczne
Alternatywne wyprowadzenie metody Eulera
Mamy formułę prostokątów:

tk +h
g(t) dt H" h g(tk)
tk
Dariusz Uciński Równania różniczkowe  metody numeryczne
Schemat Eulera wstecz
Tu inaczej przybliżmy pochodną:
dy(tk) y(tk) - y(tk-1)
H"
dt h
Prowadzi to do schematu niejawnego:
Schemat Eulera wstecz
y(tk+1) = y(tk) + h f (tk+1, y(tk+1))
Pytanie: Jak to rozwiązywać?
Metoda Eulera nie jest zbyt dokładna, dlatego też potrzeba
bardziej wyrafinowanych technik.
Dariusz Uciński Równania różniczkowe  metody numeryczne
Schemat Eulera wstecz
Tu inaczej przybliżmy pochodną:
dy(tk) y(tk) - y(tk-1)
H"
dt h
Prowadzi to do schematu niejawnego:
Schemat Eulera wstecz
y(tk+1) = y(tk) + h f (tk+1, y(tk+1))
Pytanie: Jak to rozwiązywać?
Metoda Eulera nie jest zbyt dokładna, dlatego też potrzeba
bardziej wyrafinowanych technik.
Dariusz Uciński Równania różniczkowe  metody numeryczne
Schemat Eulera wstecz
Tu inaczej przybliżmy pochodną:
dy(tk) y(tk) - y(tk-1)
H"
dt h
Prowadzi to do schematu niejawnego:
Schemat Eulera wstecz
y(tk+1) = y(tk) + h f (tk+1, y(tk+1))
Pytanie: Jak to rozwiązywać?
Metoda Eulera nie jest zbyt dokładna, dlatego też potrzeba
bardziej wyrafinowanych technik.
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm przewidywania i korekcji (metoda Heuna)
Mamy formułę trapezów:

tk +h
g(tk) + g(tk+1)
g(t) dt H" h
2
tk
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm przewidywania i korekcji (metoda Heuna)
Z równości

tk+1
y(tk+1) = y(tk) + f (t, y(t)) dt

tk
g(t)
wynika więc

h
y(tk+1) = y(tk) + f (tk, y(tk)) + f (tk+1, y(tk+1)

2
nieznane!
Jest to więc schemat niejawny, który można uważać za
połączenie algortmów Eulera wprzód i wstecz (dlaczego?).
Pytanie: Jak uczynić go użytecznym?
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm przewidywania i korekcji (metoda Heuna)
Przewidywanie (predykcja)  por. metodę Eulera
y (tk+1) = y(tk) + h f (tk, y(tk))
Korekcja

h
y(tk + h) = y(tk) + f (tk, y(tk)) + f (tk+1, y (tk+1)
2
Etap korekcji można implementowac z zastosowaniem metody
iteracji prostej.
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm przewidywania i korekcji (metoda Heuna)
Przewidywanie (predykcja)  por. metodę Eulera
y (tk+1) = y(tk) + h f (tk, y(tk))
Korekcja

h
y(tk + h) = y(tk) + f (tk, y(tk)) + f (tk+1, y (tk+1)
2
Etap korekcji można implementowac z zastosowaniem metody
iteracji prostej.
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm Rungego
Mamy formułę Simpsona:

tk +h
h
g(t) dt H" (x0 + 4x1 + x2)
6
tk
Dariusz Uciński Równania różniczkowe  metody numeryczne
Uzasadnienie
Przybliżając g(t) parabolą at2 + bt + c mamy
h2 h
x0 = a - b + c
4 2
x1 = c
h2 h
x2 = a + b + c
4 2
skąd
c = x1
x2 - x0
b =
h
2
a = (x0 - 2x1 + x2)
h2
Dariusz Uciński Równania różniczkowe  metody numeryczne
Uzasadnienie (c.d.)
Pole pod parabolą wynosi

h/2
(at2 + bt + c) dt
-h/2

h/2
2 x2 - x0
= (x0 - 2x1 + x2)t2 + t + x1 dt
h2 h
-h/2
h
= (x0 + 4x1 + x2)
6
Dariusz Uciński Równania różniczkowe  metody numeryczne
Algorytm Rungego
Z równości

tk+1
y(tk+1) = y(tk) + f (t, y(t)) dt
tk
wynika więc
h
y(tk+1) = y(tk) + (m0 + 4m1 + m3)
6
gdzie:
m0 = f (tk, y(tk))
h h
m1 = f (tk + , yk + m0 )
2 2
m2 = f (tk + h, yk + m0h)
m3 = f (tk + h, yk + m2h)
Dariusz Uciński Równania różniczkowe  metody numeryczne


Wyszukiwarka

Podobne podstrony:
met num wyklad 2a
roznice wyklad6
Ukł równ różniczkowych linioych
egz met num 09 10
Met NUM wI 11
Wyklad Narkolepsja diagnostyka roznicowa
B Bożek wykłady równania różniczkowe
wykład 13 Równania Różniczkowe
wykład nr 4 Różnice indywidualne
wyklad rownania rozniczkowe czastkowe(1)
rownania rozniczkowe rzedu drugiego wyklad 6
Równania różniczkowe zwyczajne wykład dla studentów

więcej podobnych podstron