Transcript NDR3biele
Numerické metódy riešenia
diferenciálnych rovníc
Matematicko-počítačové
modelovanie
4. semester
3. prednáška
Najjednoduchšia počiatočná
úloha
• Diferenciálna rovnica prvého rádu
(skalárna) a počiatočná podmienka
y' f ( x, y), y( x0 ) y0
Počiatočná úloha
• Nech je funkcia f(x, y) definovaná na
oblasti OR2. Hovoríme, že f spĺňa na
oblasti O Lipschitzovu podmienku, ak
platí:
f (x, y) f (x, y) L y y
Počiatočná úloha
• Veta: Nech je funkcia f(x, y) definovaná
a,b
na
x0 a, x0 a y0 b, y0 b
R
•
•
•
•
Nech je na tejto oblasti f
Spojitá
Ohraničená konštantou K
Spĺňa Lipschitzovu podmienku s
Počiatočná úloha
• Potom diferenciálna rovnica
y' f ( x, y), y( x0 ) y0
má práve jedno riešenie na intervale
b
x 0 c, x 0 c, min{a, }
K
Úloha s exaktným riešením
• Príklad:
y ' y x, y (0) 1
y ( x) 2e x 1
x
35
30
25
20
15
10
5
0.5
1
1.5
2
2.5
3
Numerické riešenie
• Diskretizácia: riešenie sa hľadá len v
navzájom rôznych izolovaných bodoch
využijúc počiatočnú podmienku.
• Body:
x0 daná hodnota riešenia y(x0)=y0
x1 , x2 , x3 s hodnotami y1 , y2 , y3 , ktoré
aproximujú hodnoty presného riešenia
v týchto bodoch: y(x1), y(x2), y(x3 )...
Diskretizácia
• Príklad: y ' y x, y (0) 1
y ( x) 2e x 1
x
35
30
yi+1
25
20
yi
15
y(xi )
10
5
x1
x2
0.5
1
x
1.5
xi
xi+1
2
hi
2.5
xn
3
Numerické riešenie
• Vzdialenosť
hn =xn+1 –xn krok diskretizácie
Rovnaký pre všetky body: ekvidistantné
delenie
Rôzny: neekvidistantné delenie
k-krokové metódy
• 1-krokové: na výpočet nasledujúcej
aproximácie yn je potrebná len
predchádzajúca hodnota yn-1
• k-krokové metódy na výpočet
nasledujúcej aproximácie yn je
potrebných k predchádzajúcich
hodnôt: yn-1, yn-2, yn-3 ,..., yn-k
Eulerova metóda
y' f ( x, y), y( x0 ) y0
• Použijeme ekvidistantné delenie s
krokom h, teda
• x1 =x0 +h a vypočítame hodnotu y1
• Riešením je funkcia y(x), nech je hladká
Eulerova metóda
• Potom z Taylorovho rozvoja funkcie
platí:
y( x1 ) y( x0 ) hy' ( x0 )
• keďže riešime úlohu
y' f ( x, y), y( x0 ) y0
y' ( x0 ) f ( x0, y0 )
• táto platí aj pre x0 dosadíme:
Eulerova metóda
• Máme:
y( x1 ) y( x0 ) hf ( x0 , y0 )
xi
• čo je základ Eulerovej metódy:
y1 y0 hf ( x0, y0 )
6
• a iteračne:
y0
5
y1
4
3
x0
0.5
1
x1
1.5
2
Eulerova metóda
xk 1 xk h
yk 1 yk hf ( xk , yk ), k 0,1,2,...
1 kroková iteračná metóda
Príklad
• Eulerovou metódou nájdite riešenie
2
problému: y' xy , y(0) 1
• Problém riešte na intervale (0,1), ktorý
rozdeľte na 20 krokov
• Výsledok porovnajte s presným riešením:
2
y
2
2x
Príklad-program Eulerovej
metódy
x
Výsledky:
num. pres. odchýlka
Grafické porovnanie výsledkov
Porovnanie výsledkov s
polovičným krokom
2
1.75
1.5
1.25
1
0.75
0.5
0.25
0.2
0.4
0.6
0.8
1
Porovnanie výsledkov s krokom
desatinovým
Diskretizačná chyba
• Lokálna diskretizačná chyba – chyba,
ktorej sa dopustíme v jednom kroku
metódy- chyba s akou presné hodnoty
spĺňajú rekurentný vzťah:
yk 1 yk hf ( xk , yk ), k 0,1,2,...
y( xk 1 ) y( xk ) hf ( xk , y( xk )) d k , k 0,1,2,.
Diskretizačná chyba
• Globálna diskretizačná chyba: ako
presne aproximuje postupnosť hodnôt
presné riešenie. Označme ju
en y( xn ) yn
Rád metódy
• Je najväčšie prirodzené číslo p, pre
ktoré pre danú metódu a ľubovoľnú
počiatočnú podmienku s dostatočne
hladkým riešením platí pre ľubovoľné n
a krok diskretizácie ,
hn 0
odhad
dn O(hn
p 1
)
Rád Eulerovej metódy
• Z Taylorovho rozvoja platí: metóda je
2
prvého rádu, teda dn O(hn )
• Pre globálnu chybu Eulerovej metódy
n
platí
z čoho
e d
n
k 1
n
en O(hn )
Zaokrúhľovacia chyba
• Nech je ε maximálna zaokrúhľovacia
chyba v jednom kroku Eulerovej
metódy.Skutočné vypočítané riešenie
preto spĺňa rovnicu:
y k1 y k hf ( x k , y k ) , k 0,1,2,...N
• Celková zaokrúhľovacia chyba bude teda
x
x
N
0
N ε a teda
h
Vhodný výber chyby
• Celková chyba je teda súčet globálnej
diskretizačnej chyby a zaokrúhľovacej
chyby:
x N x0
y( x N ) y N Ch
: g( h )
h
• Táto funkcia bude minimálna pre
h opt
( x N x 0 )
C
EOC - experimental order
convergence
• Máme presné riešenie úlohy a vypočítame
chybu riešenia pre diskretizáciu h1 E1 a
pre diskretizáciu h2 = h1/2 E2.
• Označme rád konvergencie p
• Dostávame
E1
p log2 ( )
E2
Metódy typu Runge-Kutta
• V praxi najrozšírenejšie.
• Všeobecná schéma je:
r
yn 1 yn hn i ki
i 1
k1 f ( xn , yn ), ki f ( xn i hn , yn i hn ki 1 )
i , i , i
vhodne vybraté konštanty
Metódy typu Runge-Kutta 2.
rádu
Modifikovaná Eulerova:
r 2, 1 0, 2 1, 2 2 1 / 2
k1 f ( xn, yn ), k2 f ( xn hn / 2, yn hn k1 / 2)
yn1 yn hn k2
Metódy typu Runge-Kutta 2.
rádu
Heunova:
r 2,1 2 1 / 2, 2 2 1
k1 f ( xn, yn ), k2 f ( xn1 , yn hn k1 )
yn 1 yn hn (k1 k2 ) / 2
Metódy typu Runge-Kutta 4.
rádu
r 4, k1 f ( xn, yn ), k 2 f ( xn hn / 2, yn hn k1 / 2)
k3 f ( xn hn / 2, yn hn k 2 / 2), k 4 f ( xn 1 , yn hn k3 )
yn 1 yn hn (k1 2k 2 2k3 k 4 ) / 6
Príklad -metóda Runge-Kutta
• Ten istý príklad vypočítaný R-K metódou
4. Rádu
y' xy , y(0) 1
2
Grafický výsledok
2
1.75
1.5
1.25
1
0.75
0.5
0.25
0.2
0.4
0.6
0.8
1