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 OR2. 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
2x
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 k1  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)
yn1  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 ( xn1 , 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