Ciele
- Naučiť sa určovať približné riešenie diferenciálnej rovnice Eulerovou a Heunovou metódou.
- Naučiť sa určovať približné riešenie diferenciálnej rovnice Rungeho-Kuttovou metódou štvrtého rádu.
Úvod
-
Riešenie problémov fyzikálneho, technického a popri tom aj matematického charakteru nás často privedie k úlohám, ktoré sa
dajú opísať len pomocou obyčajných alebo parciálnych diferenciálnych rovníc.
Riešenie daných fyzikálnych a technických problémov je potom v podstate závislé na vyriešení týchto diferenciálnych rovníc.
Vyriešiť diferenciálnu rovnicu, respektíve nájsť jej presné riešenie, je
však možné len vo veľmi málo prípadoch. Z tohto dôvodu sa na riešenie diferenciálnych rovníc používa celá škála približných
metód. V tejto kapitole vynecháme analytické metódy a budeme sa zaoberať
len numerickými metódami riešenia diferenciálnych rovníc a ich systémov. Tieto metódy sú založené na hľadaní aproximácie presného
riešenia
\(y(x)
\)
v izolovaných bodoch
\[x_{0},x_{1},\ldots,x_{n},
\]
kde
\[x_{i}=x_{0}+ih,\ i=0,1,\ldots,n.
\]
Číslo
\(h
\)
sa nazýva krok metódy. Pre presné riešenie diferenciálnej rovnice v bode
\(x_{i}\) budeme používať označenie
\(y\left(x_{i}\right)
\)
a jeho približnú hodnotu budeme označovať
\(y_{i}.
\)
V rámci štúdia jednotlivých numerických metód sa budeme zaoberať obyčajne jednou diferenciálnou rovnicou
\[y'=f\left(x,y\left(x\right)\right)
\]
so začiatočnou podmienkou
\[y\left(x_{0}\right)=y_{0}.
\]
Úlohu nájsť riešenie diferenciálnej rovnice, ktoré vyhovuje začiatočnej podmienke, budeme ďalej nazývať
Cauchyho úlohou pre danú diferenciálnu rovnicu.
Presným riešením Cauchyho úlohy pre jednu diferenciálnu rovnicu \[y'=f\left(x,y\left(x\right)\right)
\]
je funkcia \(y\left(x\right)\) , pre ktorú platí:
\[ y(x)=y(x_{0}) +\int^{x}_{x_{0}} f\left(t,y\left(t\right)\right) dt .
\]
Ak bod \(x\) nahradíme bodom \(x_{i+1}\) a za začiatočný bod zvolíme \(x_{i}\) , tak pomocou tejto integrálnej rovnice
vypočítame presnú hodnotu riešenia \( y(x)\) v uzlovom bode \(x_{i+1}\) , teda
\[ y(x_{i+1})=y(x_{i}) +\int^{x_{i+1}}_{x_{i}} f\left(t,y\left(t\right)\right) dt .
\]
Označme \(F\left(x\right)=f\left(x,y\left(x\right)\right)\).
Na intervale \(\left\langle x_{i},x_{i+1}\right\rangle\) ľahko vypočítame presnú hodnotu
funkcie \(F\) len v uzlovom bode \(x_{i}\), pretože \(F\left(x_{i}\right)=f\left(x_{i},y\left(x_{i}\right)\right)\)
a \(y\left(x_{i}\right)=y_{i}\) je známa začiatočná hodnota riešenia \(y\left(x\right)\) v začiatočnom bode \(x_{i}\).
V ostatných bodoch intervalu nepoznáme presnú hodnotu funkcie \(F\), lebo nepoznáme presnú hodnotu riešenia
\(y\left(x\right)\).
Vypočítame približnú hodnotu riešenia \(y\left(x\right)\) v uzlovom bode \(x_{i+1}\).
Určitý integrál
\(\int^{x_{i+1}}_{x_{i} }f\left(t,y\left(t\right)\right)dt\) nahradíme súčinom
\(hF\left(x_{i}\right)\), ktorý je vlastne plošným obsahom obdĺžnika s výškou
\(F\left(x_{i}\right)\) a šírkou \(h\). Na základe tejto aproximácie integrálu
vypočítame približnú hodnotu \(y_{i+1}\)
riešenia
\(y\left(x\right)\) v uzlovom bode \(x_{i+1}\) pomocou vzorca
\[y_{i+1}=y_{i}+hf\left(x_{i},y_{i}\right)\] alebo
\[y_{i+1}=y_{i}+k_{1},\] kde
\[k_{1}=hf\left(x_{i},y_{i}\right).\]Tento vzorec je známy ako rekurentný vzorec Eulerovej metódy.
Ak určitý integrál
\(\int^{x_{i+1}}_{x_{i} }f\left(t,y\left(t\right)\right)dt\)
nahradíme určitým integrálom
\(\int^{x_{i+1}}_{x_{i} }L_{1}\left(t,x_{i},x_{i+1}\right)dt\) teda na aproximáciu funkcie
\(f\left(t,y\left(t\right)\right)\)
použijeme Lagrangeov interpolačný polynóm prvého stupňa, tak pre výpočet
\(y_{i+1}\) dostaneme vzorec
\[y_{i+1}=y_{i}+\frac{h}{2}\left[f\left(x_{i},y_{i}\right)+f\left(x_{i+1},y\left(x_{i+1}\right)\right)\right].\]
Hodnotu
\(y\left(x_{i+1}\right)\)
nahradíme hodnotou
\(y_{i+1}\),
ktorú vypočítame pomocou Eulerovho rekurentného vzorca \[y_{i+1}=y_{i}+k_{1},\] kde
\[k_{1}=hf\left(x_{i},y_{i}\right).\]
Vo vzorci funkciu
\(f\left(x_{i+1},y\left(x_{i+1}\right)\right)\)
zameníme funkciou
\(f\left(x_{i}+h,y_{i}+k_{1}\right)\)
a keď označíme
\(k_{2}=f\left(x_{i}+h,y_{i}+k_{1}\right)\),
tak dostaneme rekurentný vzorec Heunovej metódy
\[y_{i+1}=y_{i}+\frac{k_{1}+k_{2}}{2}.\]
Ak určitý integrál
\(\int^{x_{i+1}}_{x_{i} }f\left(t,y\left(t\right)\right)dt\)
nahradíme určitým integrálom
\(\int^{x_{i+1}}_{x_{i} }L_{2}\left(t,x_{i},x_{i+1}\right)dt\), teda na aproximáciu funkcie
\(f\left(t,y\left(t\right)\right)\)
použijeme Lagrangeov interpolačný polynóm druhého stupňa, tak pre výpočet
\(y_{i+1}\) dostaneme vzorec
\[y_{i+1}=y_{i}+\frac{h}{6}\left[f\left(x_{i},y_{i}\right)+4f\left(x_{i}+\frac{h}{2},y
\left(x_{i}+\frac{h}{2}\right)\right)+f\left(x_{i}+h,y
\left(x_{i}+h\right)\right)\right].\]
Presné hodnoty \( y\left(x_{i}+\frac{h}{2}\right) \) a \( y
\left(x_{i}+h\right)\) nahradíme približnými. Stredný člen
\[ 4f\left(x_{i}+\frac{h}{2},y
\left(x_{i}+\frac{h}{2}\right)\right)\]
rozpíšeme ako súčet dvoch členov s násobkami \(2.\)
Keď označíme
\[k_{1}=hf\left(x_{i},y_{i}\right),\ k_{2}=hf\left(x_{i}+\frac{h}{2},y_{i}+\frac{k_{1}}{2}\right),
\]
\[k_{3}=hf\left(x_{i}+\frac{h}{2},y_{i}+\frac{k_{2}}{2}\right),\ k_{4}=hf\left(x_{i}+h,y_{i}+k_{3}\right),
\]
tak dostaneme rekurentný vzorec Rungeho-Kuttovej metódy 4. rádu
\[y_{i+1}=y_{i}+\frac{1}{6}\left(k_{1}+2k_{2}+2k_{3}+k_{4}\right).\]
Poznámka:
Medzi Rungeho-Kuttove metódy zaraďujeme aj Eulerovu a Heunovu metódu.
Postup
-
Eulerova a Heunova metóda.
Určíme približné hodnoty riešenia Cauchyho úlohy pomocou Eulerovej metódy.
Na konečnom intervale \( \left\langle x_{0},x_{n}\right\rangle\) v uzlových bodoch \( x_{i}\) vypočítame pomocou rekurentného vzorca Eulerovej metódy \[y_{i+1}=y_{i}+k_{1},\ i=0,1,\ldots,n-1,\] približné hodnoty \( y_{i}\) riešenia Cauchyho úlohy.
Vypočítané približné hodnoty riešenia Cauchyho úlohy zapíšeme do tabuľky.
Nájdeme riešenie Cauchyho úlohy pomocou Heunovej metódy.
Na konečnom intervale \( \left\langle x_{0},x_{n}\right\rangle\) v uzlových bodoch \( x_{i}\) vypočítame pomocou rekurentného vzorca Heunovej metódy \[y_{i+1}=y_{i}+\frac{k_{1}+k_{2}}{2},\ \ i=0,1,\ldots,n-1,\] približné hodnoty \( y_{i}\) riešenia Cauchyho úlohy.
Vypočítané približné hodnoty riešenia Cauchyho úlohy zapíšeme do tabuľky.Príklad: Cauchyho úlohu \[y'=1+2\left(y-x\right),\ y\left(0\right)=1 \] riešte približne na intervale \[\left\langle 0;0,2\right\rangle \] najprv Eulerovou a potom Heunovou metódou s krokom \(h=0,1. \) Výsledky porovnajte s hodnotami presného riešenia danej úlohy.Poznámka: V tomto prípade vieme vypočítať hodnoty presného riešenia Cauchyho úlohy, takže bez väčších problémov sa nám podarí porovnať v tabuľke približné a presné riešenie. V bežnej praxi však vo väčšine prípadov nevieme nájsť presné riešenie Cauchyho úlohy.
-
Rungeho-Kuttova metóda 4. rádu.
V prvom kroku pomocou rekurentného vzorca Rungeho-Kuttovej metódy \[y_{i+1}=y_{i}+\frac{1}{6}\left(k_{1}+2k_{2}+2k_{3}+k_{4}\right),\] na konečnom intervale \(\left\langle x_{0},x_{n}\right\rangle \) v uzlových bodoch \( x_{i}\) vypočítame približné hodnoty \( y_{i}\) riešenia Cauchyho úlohy.
V druhom kroku z vypočítaných približných hodnôt riešenia Cauchyho úlohy Rungeho-Kuttovou metódou 4. rádu vytvoríme prehľadnú tabuľku.Príklad: Cauchyho úlohu \[y'=\left(xy-5\right)e^{2x+3}, \qquad y\left(0\right)=1\] riešte približne na intervale\( \left\langle 0;0,2\right\rangle \) s krokom \( h=0,1 \) Rungeho-Kuttovou metódou 4. rádu.
Zdroje
- Buša, Pirč, Schrötter: Numerické metódy, pravdepodobnosť a matematická štatistika, 2006, ISBN 80-8073-632-4. Stiahnuť obrazovkovú alebo tlačovú verziu.
- Daňo, Ostertagová: Vybrané kapitoly z numerických metód, pravdepodobnosti a matematickej štatistiky, Equilibria s.r.o., Košice, 2012, ISBN 978-80-8143-012-1.
Doplňujúce úlohy
Úloha:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,5\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,5\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=\frac{x}{y},\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,5\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=\frac{x}{y},\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,5\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=\frac{x}{y^{2}}-1,\ y(0)=1 \] riešte na intervale \(\left\langle 1;1,4\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=\frac{x}{y^{2}}-1,\ y(0)=1 \] riešte na intervale \(\left\langle 1;1,4\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=\frac{\cos y}{1,5+x}+0,1y^{2},\ y(0)=0 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=\frac{\cos y}{1,5+x}+0,1y^{2},\ y(0)=0 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Eulerovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=y^{2}e^{x}-2y,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=y^{2}e^{x}-2y,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=x^{2}(1+y),\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=x^{2}(1+y),\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) Heunovou metódou s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=x^{2}(1+y),\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=x^{2}(1+y),\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=y^{2}-3xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=y^{2}-3xy,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=2xy-1,\ y(1)=0 \] riešte na intervale \(\left\langle 1;1,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=2xy-1,\ y(1)=0 \] riešte na intervale \(\left\langle 1;1,3\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=-y+\ln x,\ y(1)=1 \] riešte na intervale \(\left\langle 1;1,4\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,2\).
Výsledok:
Cauchyho úlohu \[ y'=-y+\ln x,\ y(1)=1 \] riešte na intervale \(\left\langle 1;1,4\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,2\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=-(y+1)\cos x,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,2\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Cauchyho úlohu \[ y'=-(y+1)\cos x,\ y(0)=1 \] riešte na intervale \(\left\langle 0;0,2\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,1\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=2x^{2}-y,\ y(0,5)=1 \] riešte na intervale \(\left\langle 0,5;0,6\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,05\).
Výsledok:
Cauchyho úlohu \[ y'=2x^{2}-y,\ y(0,5)=1 \] riešte na intervale \(\left\langle 0,5;0,6\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,05\).
Výsledok:
Úloha:
Cauchyho úlohu \[ y'=x^{2}-y,\ y(0,5)=1 \] riešte na intervale \(\left\langle 0,5;0,6\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,05\).
Výsledok:
Cauchyho úlohu \[ y'=x^{2}-y,\ y(0,5)=1 \] riešte na intervale \(\left\langle 0,5;0,6\right\rangle \) štandardnou metódou Rungeho-Kutta 4.rádu s krokom \(h=0,05\).
Výsledok: