» »

Numerická Eulerova metóda. Eulerova metóda

12.04.2021

Eulerova metóda. Vylepšená Eulerova metóda.
Klasická metóda Runge-Kutta

Výpočtová matematika a diferenciálne rovnice nezostali ušetrené! Dnes sa v triede naučíme základy približné výpočty v tejto časti matematickej analýzy, po ktorej sa pred vami vrelo otvoria hrubé, veľmi hrubé knihy na túto tému. Pretože výpočtová matematika ešte neobišla difúznu stránku =)

Metódy uvedené v názve sú určené Zavrieť hľadanie riešení diferenciálne rovnice, systémy diaľkového ovládania a krátke vyhlásenie o najbežnejšom probléme je nasledovné:

Uvažujme diferenciálna rovnica prvého rádu, pre ktoré musíte nájsť súkromné ​​riešenie, zodpovedajúce počiatočnému stavu. Čo to znamená? To znamená, že musíme nájsť funkciu (predpokladá sa jeho existencia), čo spĺňa tento rozdiel. rovnice, a ktorej graf prechádza bodom.

Ale tu je problém: nie je možné oddeliť premenné v rovnici. Veda to v žiadnom prípade nepozná. A ak je to možné, potom sa ukáže nerozbitný integrálne. Existuje však špeciálne riešenie! A tu prichádzajú na záchranu metódy približných výpočtov, ktoré umožňujú s vysokou (a často s tým najvyšším) presne „simulovať“ funkciu v určitom intervale.

Myšlienkou metód Euler a Runge-Kutta je nahradiť časť grafu prerušovaná čiara, a teraz zistíme, ako sa táto myšlienka realizuje v praxi. A my to nielen zistíme, ale aj priamo zrealizujeme =) Začnime historicky prvou a najjednoduchšou metódou. ...Chcete sa popasovať so zložitou diferenciálnou rovnicou? to nechcem ani ja :)

Cvičenie

Nájdite konkrétne riešenie diferenciálnej rovnice zodpovedajúcej počiatočnej podmienke pomocou Eulerovej metódy na segmente s krokom. Zostrojte tabuľku a graf približného riešenia.

Poďme na to. Po prvé, máme obvyklé lineárna rovnica, ktoré je možné vyriešiť štandardnými metódami, a preto je veľmi ťažké odolať pokušeniu okamžite nájsť presné riešenie:

– každý môže skontrolovať a uistiť sa, že táto funkcia spĺňa počiatočnú podmienku a je koreňom rovnice.

Čo treba urobiť? Treba nájsť a postaviť prerušovaná čiara, ktorý aproximuje graf funkcie na intervale. Keďže dĺžka tohto intervalu je rovná jednej a krok je , potom je náš prerušovaná čiara bude pozostávať z 10 segmentov:

Navyše bodka je už známy - zodpovedá počiatočnému stavu. Okrem toho sú zrejmé súradnice „X“ ostatných bodov:

Zostáva len nájsť . žiadne diferenciácia A integrácia– iba sčítanie a násobenie! Každá nasledujúca hodnota „hry“ sa získa z predchádzajúcej pomocou jednoduchého opakujúci vzorec:

Predstavme si diferenciálnu rovnicu v tvare:

Takto:

„Odpočívame“ od počiatočnej podmienky:

Ideme na to:

Je vhodné zadať výsledky výpočtu do tabuľky:

A zautomatizujte si samotné výpočty v Exceli - pretože v matematike je dôležitá nielen výhra, ale aj rýchly koniec :)

Na základe výsledkov 2. a 3. stĺpca zobrazíme na výkrese 11 bodov a 10 segmentov spájajúcich susedné body. Pre porovnanie nakreslím presné čiastkové riešenie :


Významnou nevýhodou jednoduchej Eulerovej metódy je, že chyba je príliš veľká a je ľahké si všimnúť, že chyba má tendenciu sa hromadiť – čím ďalej sa pohybujeme od bodu, hlavne rozpor medzi aproximáciou a pravdou sa zväčšuje. To možno vysvetliť samotným princípom, na ktorom Euler založil svoju metódu: segmenty sú paralelné relevantné dotyčnica ku grafu funkcie v bodoch. Táto skutočnosť je mimochodom jasne viditeľná aj na výkrese.

Ako môžete zlepšiť aproximáciu? Prvou myšlienkou je spresniť oddiel. Rozdeľme segment napríklad na 20 častí. Potom bude krok: , a je úplne jasné, že prerušovaná čiara 20 odkazov aproximuje konkrétne riešenie oveľa presnejšie. Pomocou toho istého Excelu nebude ťažké spracovať 100-1000 a dokonca milión (!) medzisegmentov, ale položme si otázku: je možné metódu KVALITATÍVNE zlepšiť?

No pred odhalením tejto problematiky mi nedá nepozastaviť sa pri dnes už niekoľkokrát spomenutom mene. Čítanie životopis Leonharda Eulera, je jednoducho úžasné, koľko toho človek dokáže vo svojom živote urobiť! Porovnateľne som si pamätal len K.F. Gauss. ...Tak sa budeme snažiť nestratiť motiváciu k učeniu a novým objavom :))

Vylepšená Eulerova metóda

Zoberme si ten istý príklad: diferenciálnu rovnicu, konkrétne riešenie spĺňajúce podmienku, interval a jeho rozdelenie na 10 častí
( – dĺžka každej časti).

Cieľom vylepšenia je priblížiť „červené štvorce“ lomenej čiary k zodpovedajúcim „zeleným bodom“ presného riešenia. .

A myšlienka úpravy je takáto: segmenty musia byť rovnobežné dotyčnica, ktoré sú vykreslené do grafu funkcie nie na ľavých okrajoch a „v strede“ intervalov oddielov. Čo, prirodzene, zlepší kvalitu aproximácie.

Algoritmus riešenia funguje v rovnakom duchu, ale vzorec, ako by ste mohli hádať, sa stáva komplikovanejším:
, Kde

Začneme tancovať znova od konkrétneho riešenia a okamžite nájdeme 1. argument funkcie „externá“:

Teraz nájdeme naše „monštrum“, ktoré sa ukázalo byť nie také strašidelné - všimnite si prosím, že ide o ROVNAKÚ funkciu , vypočítané v inom bode:

Výsledok vynásobíme krokom rozdelenia:

Takto:

Algoritmus vstupuje do druhého kola, takže nebudem lenivý a podrobne ho opíšem:

Zvážime pár a nájdeme prvý argument „externej“ funkcie:

Vypočítame a nájdeme jeho 2. argument:

Vypočítajme hodnotu:

a jeho produkt na krok:

Je rozumné vykonávať výpočty v Exceli (replikácia vzorcov podľa rovnakej schémy - pozri video vyššie) a zhrňte výsledky do tabuľky:


Čísla je vhodné zaokrúhľovať na 4-5-6 desatinných miest. Často v podmienkach konkrétnej úlohy existuje priama inštrukcia, s akou presnosťou by sa malo zaokrúhľovanie vykonávať. Silne „zaostalé“ hodnoty som orezal na 6 číslic.

Na základe výsledkov 2. a 3. stĺpca (vľavo) poďme stavať prerušovaná čiara, a pre porovnanie opäť ukážem graf presného riešenia :


Výsledok sa výrazne zlepšil! – červené políčka sú prakticky „skryté“ za zelenými bodmi presného riešenia.

Dokonalosti sa však medze nekladú. Jedna hlava je dobrá, ale dve lepšie. A opäť nemčina:

Klasická metóda Runge-Kutta 4. rádu

Jeho cieľom je ešte viac priblížiť „červené štvorce“ k „zeleným bodkám“. Pýtate sa, kde ešte bližšie? V mnohých, najmä fyzických, štúdiách je 10. alebo dokonca 50. ZÁKLADNE dôležitý presné desatinné miesto. Nie, takú presnosť možno dosiahnuť pomocou jednoduchej Eulerovej metódy, ale KOĽKO častí budete musieť rozdeliť na interval?! ...Aj keď s moderným výpočtovým výkonom to nie je problém - tisíce stokerov čínskej vesmírnej lode garantujú!

A ako názov správne napovedá, pri použití metódy Runge-Kutta na každom kroku budeme musieť vypočítať hodnotu funkcie 4 krát (na rozdiel od dvojitého výpočtu v predchádzajúcom odseku). Ale táto úloha je celkom zvládnuteľná, ak si najmete Číňanov. Každá nasledujúca hodnota „hry“ sa získa z predchádzajúcej - zachytávame vzorce:
, Kde , Kde:

pripravený? No tak začnime :))


Takto:

Prvý riadok je naprogramovaný a skopírujem vzorce takto:


Nemyslel som si, že tak rýchlo prejdem metódu Runge-Kutta =)

Kresba nemá zmysel, pretože už nie je reprezentatívna. Urobme lepšie analytické porovnanie presnosť tri metódy, pretože keď je známe presné riešenie , potom je hriech neporovnať. Hodnoty funkcií v uzlových bodoch sa v Exceli ľahko vypočítajú - vzorec zadáme raz a replikujeme ho na zvyšok.

V tabuľke nižšie zhrniem hodnoty (pre každú z troch metód) a zodpovedajúce absolútne chyby približné výpočty:


Ako vidíte, metóda Runge-Kutta už dáva 4-5 správnych desatinných miest v porovnaní s 2 správnymi desatinnými miestami vylepšenej Eulerovej metódy! A toto nie je náhoda:

– Chyba „obyčajnej“ Eulerovej metódy nepresahuje krok priečky. A v skutočnosti - pozrite sa na stĺpec chýb úplne vľavo - za desatinnými miestami je iba jedna nula, čo nám hovorí, že presnosť je 0,1.

– Vylepšená Eulerova metóda zaručuje presnosť: (pozrite sa na 2 nuly za desatinnou čiarkou v strednom chybovom stĺpci).

– A nakoniec, klasická metóda Runge-Kutta zaisťuje presnosť .

Prezentované odhady chýb sú teoreticky prísne odôvodnené.

Ako môžete zlepšiť presnosť aproximácie VIAC? Odpoveď je priam filozofická: kvalita a/alebo kvantita =) Existujú najmä iné, presnejšie modifikácie metódy Runge-Kutta. Kvantitatívnym spôsobom, ako už bolo uvedené, je zníženie kroku, t.j. pri rozdelení segmentu na väčší počet medzisegmentov. A s nárastom tohto čísla prerušovaná čiara bude čoraz viac vyzerať ako graf presného riešenia A v limite- bude sa s tým zhodovať.

V matematike sa táto vlastnosť nazýva narovnateľnosť krivky. Mimochodom (malý offtopic), nie všetko sa dá „narovnať“ – odporúčam prečítať si tie najzaujímavejšie, v ktorých zmenšenie „oblasť štúdia“ neznamená zjednodušenie predmetu štúdia.

Stalo sa, že som analyzoval iba jednu diferenciálnu rovnicu, a preto niekoľko ďalších komentárov. Čo ešte musíte mať v praxi na pamäti? Vo vyhlásení o probléme vám môže byť ponúknutý iný segment a iný oddiel a niekedy sa nájde nasledujúca formulácia: „nájsť pomocou metódy... ...na intervale, rozdeliť ho na 5 častí.“ V tomto prípade musíte nájsť krok oddielu a potom postupujte podľa obvyklej schémy riešenia. Mimochodom, počiatočná podmienka by mala mať nasledujúci tvar: , teda „x nula“, sa spravidla zhoduje s ľavým koncom segmentu. Obrazne povedané, prerušovaná čiara vždy „vychádza“ z bodu.

Nepochybnou výhodou uvažovaných metód je skutočnosť, že sú použiteľné na rovnice s veľmi zložitou pravou stranou. A absolútnou nevýhodou je, že nie každý difúzor môže byť prezentovaný v tejto podobe.

Ale takmer všetko v tomto živote sa dá napraviť! - veď sme skúmali len malý zlomok témy a moja fráza o hrubých, veľmi hrubých knihách vôbec nebola vtipom. Existuje veľké množstvo približných metód na hľadanie riešení diferenciálnych rovníc a ich systémov, ktoré využívajú okrem iného zásadne odlišné prístupy. Napríklad konkrétne riešenie môže byť aproximovať mocninovým radom. Toto je však článok do inej rubriky.

Dúfam, že sa mi podarilo spestriť nudnú výpočtovú matematiku a vás to zaujalo!

Ďakujem za tvoju pozornosť!

Dajte nám vedieť vstupnú dynamickú sekvenciu X(vstupný signál) a model (metóda prevodu vstupného signálu na výstupný signál). Uvažujeme o probléme určenia výstupného signálu r(t) (pozri obr. 10.1).

Model dynamického systému môže byť reprezentovaný diferenciálnou rovnicou. Základná rovnica dynamiky:

r" = f(X(t), r(t), t) .

Počiatočné podmienky v čase nula sú známe t 0 : r(t 0) , X(t 0). Na určenie výstupného signálu si všimnite, že podľa definície derivácie:

Poznáme polohu systému v bode „1“, potrebujeme určiť polohu systému v bode „2“. Body sú od seba oddelené vzdialenosťou Δ t(obr. 10.2). To znamená, že správanie systému sa vypočítava krok za krokom. Z bodu „1“ preskočíme (diskrétne) do bodu „2“, vzdialenosť medzi bodmi pozdĺž osi t volal krok výpočtu Δ t .

Ryža. 10.2. Ilustrácia výpočtu budúceho stavu systému
Eulerova metóda v jednom kroku

Posledný vzorec sa nazýva Eulerov vzorec.

Je zrejmé, že zistiť stav systému v budúcnosti r(t + Δ t) , je potrebné k aktuálnemu stavu systému r(t) pridajte zmenu Δ r, ktorý uplynul počas času Δ t .

Uvažujme ešte raz o tomto dôležitom vzťahu, odvodzujúc ho z geometrických úvah (obr. 10.3).

Ryža. 10.3. Geometrické znázornenie Eulerovej metódy

Nech A je bod, v ktorom je známy stav systému. Toto je „skutočný“ stav systému.

V bode A nakreslíme dotyčnicu k trajektórii sústavy. Tangenta je derivácia funkcie f(X(t), r(t), t) podľa premennej t. Derivácia v bode sa vždy ľahko vypočíta, stačí do vzorca dosadiť známe premenné (v momente „prítomné“ sú známe) r" = f(X(t), r(t), t) .

Všimnite si, že podľa definície derivácia súvisí s uhlom sklonu dotyčnice: r" = tg( α ) , čo znamená uhol α ľahko vypočítať ( α = arctan( r" ) ) a nakreslite dotyčnicu.

Nakreslite dotyčnicu, kým sa nepretína s čiarou t + Δ t. Moment t + Δ t zodpovedá „budúcemu“ stavu systému. Nakreslite čiaru rovnobežnú s osou t od bodu A po priesečník s čiarou t + Δ t. Čiary tvoria pravouhlý trojuholník ABC, ktorého jedna strana sa rovná Δ t(slávny). Známy je aj uhol α . Potom sa druhá vetva v pravouhlom trojuholníku ABC rovná: a = Δ t tg( α ) . Teraz je ľahké vypočítať súradnicu bodu B. Pozostáva z dvoch segmentov r(t) A a. Ordináta symbolizuje polohu systému v bode r(t + Δ t) . Teda r(t + Δ t) = r(t) + a alebo ďalej r(t + Δ t) = r(t) + Δ t tg( α ) alebo pri ďalšom nahradení máme: r(t + Δ t) = r(t) + Δ t · r" a nakoniec r(t + Δ t) = r(t) + Δ t · f(X(t), r(t), t) . Opäť sme dostali Eulerov vzorec (z geometrických úvah).

Tento vzorec môže poskytnúť presné výsledky len pre veľmi malé Δ t(povedal na Δ t>0). Pri Δ t≠0 vzorec udáva nezrovnalosť medzi skutočnou hodnotou r a vypočítané, rovné ε , preto by mal obsahovať približné znamienko rovnosti, alebo by mal byť napísaný takto:

r(t + Δ t) = r(t) + Δ t · f(X(t), r(t), t) + ε .

Naozaj. Pozrite sa ešte raz na Obr. 10.3. Poďme mentálne posunúť hranicu t + Δ t doľava (v skutočnosti priblížime hodnotu Δ t na nulu). Ako je ľahké vidieť, vzdialenosť BB * = ε , to je chyba! sa zníži. V limite (pri Δ t>0) chybová hodnota ε sa bude rovnať nule.

Nahradením skutočnej krivky priamkou (dotyčnicou) na segmente Δ t, zavedieme do riešenia chybu, ktorá neskončí v bode „2“ (pozri obr. 10.2), ale blízko, v bode „3“. Je zrejmé, že táto numerická metóda má v každom kroku chybu výpočtu ε .

Z obrázku je zrejmé, že čím menšia je hodnota Δ t, tým menšia bude chyba výpočtu ε . To znamená, že na výpočet správania systému počas akéhokoľvek dlhého časového obdobia (napríklad od t 0 až t k) na zníženie chyby v každom kroku, kroky Δ t nech je čo najmenší. Aby sme dosiahli bod t kúsečka (t k – t 0) rozdelené na segmenty dĺžky Δ t; takto všetko dopadne N = (t k – t 0)/Δ t kroky. V dôsledku výpočtu budete musieť použiť Eulerov vzorec pre každý krok, tj N raz. Ale majte na pamäti, že chyby ε i na každom i-tý krok (v najjednoduchšom prípade) sa sčítajú a celková chyba sa rýchlo nahromadí (pozri obr. 10.4). A to je významná nevýhoda tejto metódy. Aj keď pomocou tejto metódy je možné získať (v numerickej forme) riešenie akejkoľvek diferenciálnej rovnice (vrátane analyticky neriešiteľných). Znížením kroku získame presnejšie riešenia, no netreba zabúdať, že zvyšovanie počtu krokov vedie k výpočtovým nákladom a zníženiu výkonu. Navyše pri veľkom počte iterácií sa do výpočtu vnáša ďalšia významná chyba z dôvodu obmedzenej presnosti počítačov a chýb zaokrúhľovania.

Ryža. 10.4. Zvýšenie celkovej chyby v Eulerovej metóde v priebehu niekoľkých krokov

Úloha 1. Daná diferenciálna rovnica r" = 2tr . Počiatočná poloha systému je nastavená: r(0) = 1. Treba nájsť r(t), teda správanie sa systému v časovom intervale t od 0 do 1.

Analytická metóda riešenia problému 1

r" = 2tr .

Pomocou metódy separácie premenných zistíme:

r" /r = 2t

Budeme integrovať od 0 do t i, potom podľa pravidiel integrácie máme:

Výsledné analytické riešenie sa vyznačuje tým, že je absolútne presné, ale ak sa ukáže, že rovnica je komplikovaná, riešenie sa vôbec nenájde. Analytické riešenie nie je univerzálne.

Numerická metóda na riešenie problému 1

Numerická metóda riešenia predpokladá, že výpočet sa uskutoční podľa Eulerovho vzorca v niekoľkých po sebe nasledujúcich krokoch. V každom kroku má riešenie svoju chybu (pozri obr. 10.2), keďže v každom kroku je krivka nahradená priamym segmentom.

V algoritmickej implementácii je výpočet realizovaný v cykle, v ktorom je t(počítadlo t) A r :

Bloková schéma implementácie metódy na počítači je znázornená na obr. 10.5.

Ryža. 10.5. Bloková schéma implementácie Eulerovej metódy

V implementácii Stratum bude záznam vyzerať takto (prítomnosť symbolu „~“, keď t ):

Hľadajme hodnotu r predtým uvažovaný príklad v číselnej forme na intervale od T= 0 až T= 1. Zoberme si počet krokov n= 10, potom krok prírastku Δ t bude: Δ t= (1 0)/ n= (10)/10 = 0,1.

Tabuľka 10.1.
Numerický výpočet rovnice Eulerovou metódou
a porovnanie výsledku s presným riešením v každom kroku
i t i r i = r i 1 + y" i 1 · Δ t y" i = 2t i · r i Δ r i = y" i · Δ t r i + 1 = r i + Δ r i r presné = exp( t i 2)
0 0.0 1 0 0 1 1
1 0.1 1 0.2 0.02 1.02 1.0101
2 0.2 1.02 0.408 0.0408 1.0608 1.0408
3 0.3 1.061 0.636 0.0636 1.1246 1.0942
4 0.4 1.124 0.900 0.0900 1.2140 1.1735
5 0.5 1.214 1.214 0.1214 1.3354 1.2840
6 0.6 1.336 1.603 0.1603 1.4963 1.4333
7 0.7 1.496 2.095 0.2095 1.7055 1.6323
8 0.8 1.706 2.729 0.2729 1.9789 1.8965
9 0.9 1.979 3.561 0.3561 2.3351 2.2479
10 1.0 2.335 4.669 0.4669 2.8019 2.7183

Upozorňujeme, že číselne vypočítaná hodnota ( r i+ 1 ) sa líši od presného ( r presné ) a chyba (rozdiel stĺpcov r i+ 1 a r presné ) sa zvyšuje počas procesu výpočtu rovnakým spôsobom, ako je znázornené na obr. 10.4.

Teraz vypočítajme relatívnu chybu σ pre vypočítanú hodnotu r(1) získané numericky v porovnaní s teoretickým presným r teória podľa nasledujúceho vzorca:

σ = (1 r calc. / r teoretické) · 100 %

a porovnávať σ pri rôznych hodnotách Δ t .

Ak zmeníme hodnotu kroku Δ t napríklad znížte krok, potom sa zníži aj relatívna chyba výpočtu. To je to, čo dostanete pri výpočte hodnoty r(1) s rôzne významy krok (pozri tabuľku 10.2).

Tabuľka 10.2.
Závislosť na chybe
výpočet na základe veľkosti kroku Δ t
Δ t r calc. (1) r teória (1) σ
1/10 2.3346 2.7183 14%
1/20 2.5107 2.7183 8%
1/100 2.6738 2.7183 2%

Ako vidíme, s klesajúcim krokom prírastku Δ t relatívna chyba klesá, čo znamená, že presnosť výpočtu sa zvyšuje.

Upozorňujeme, že 10-násobná zmena kroku (z 1/10 na 1/100) vedie k zmene hodnoty chyby približne 10-krát (zo 14 % na 2 %). Pri 100-násobnej zmene kroku sa chyba tiež približne 100-násobne zníži. Inými slovami, veľkosť kroku a chyba pre Eulerovu metódu sú lineárne spojené. Ak chcete znížiť chybu 10-krát, znížte krok 10-krát a podľa toho zvýšte počet výpočtov 10-krát. Táto skutočnosť sa v matematike zvyčajne označuje symbolom ε = Ot) a Eulerova metóda sa nazýva metóda presnosti prvého poriadku.

Pretože v Eulerovej metóde je chyba pomerne veľká a hromadí sa z kroku na krok a presnosť je úmerná počtu výpočtov, Eulerova metóda sa zvyčajne používa na hrubé výpočty, na vyhodnotenie správania systému v princípe. Na presné kvantitatívne výpočty sa používajú presnejšie metódy.

Poznámky

  1. Každá numerická metóda má presnosť, pretože výsledok sa líši od teoretického. Presnosť metódy závisí od veľkosti kroku. Rôzne metódy majú rôznu presnosť. Poradie závislosti presnosti od veľkosti kroku je označené ako O(h). Eulerova metóda má presnosť prvého rádu a závislosť chyby od veľkosti kroku je lineárna.
  2. Ak pri znižovaní kroku limit r n usiluje o zmysel r teória , potom sa hovorí, že metóda konverguje. Výskumníkov zaujíma rýchlosť konvergencie metódy.
  3. Metóda musí byť udržateľná. Stabilita je spojená s určitou veľkosťou kritického kroku. Keď dôjde k nestabilite, dôjde k úplnému skresleniu kvalitatívneho obrazu výpočtu, k „neustálenosti“ výsledku.
  4. Pri výbere metódy sa odporúča najskôr dosiahnuť stabilitu a v rámci oblasti stability konvergenciu výsledku. Stabilita zaisťuje kvalitný obraz. Konvergencia poskytuje kvantitatívny výsledok (pozri tiež obr. 10.10).

Stanovené v odsekoch. Vysvetlime si 1-4 na príklade.

Príklad. Nechaj

Kvalitatívne tieto rovnice opisujú proces výmeny tepla medzi dvoma telesami, ktorých teploty sa v určitom časovom bode označujú ako A A B. Vôbec A A Bčasovo premenné premenné t. Nájdenie správania systému znamená, že musíte zistiť, ako sa budú meniť teploty A(t) A B(t) .

Je intuitívne jasné, že pri počiatočnom teplotnom rozdiele A= 8 a B= 5 telesných teplôt by sa malo časom postupne vyrovnávať, keďže teplejšie teleso odovzdá energiu chladnejšiemu a jeho teplota sa zníži a chladnejšie telo bude prijímať energiu od teplejšieho a jeho teplota sa zvýši. Proces výmeny tepla sa skončí (to znamená, že zmeny sa zastavia), keď sa teploty dvoch telies stanú rovnakými.

Urobme nejaké výpočty správania A(t) A B(t) s rôznymi veľkosťami kroku Δ t .

Vezmeme rôzne veľkosti kroku Δ t a nájdite zodpovedajúce hodnoty A A B v čase podľa nasledujúcich Eulerových vzorcov:

A Nový = A predch + ( B predch ¶ A predchádzajúci) Δ t ,
B Nový = B predch + ( A predch ¶ B predchádzajúci) Δ t .

Výpočet pri Δ t= 2 (tabuľka 10.3).

Pozoruje sa fenomén „uvoľnenia“ (pozri obr. 10.6). Neudržateľné riešenie. Z fyzikálnych úvah je zrejmé, že dve telesá sa nemôžu takto správať v procese výmeny tepla.

Ryža. 10.6. Systém sa správa dobre
nesprávne. Riešenie je nestabilné

Výpočet pri Δ t= 1 (tabuľka 10.4).

Tabuľka 10.4.
Zmena teploty
telesá pri numerických
výpočet v krokoch po 1

krok
t A B
0 0 8 5
1 1 5 8
2 2 8 5

Sleduje sa správanie sa systémového riešenia na hranici stability (pozri obr. 10.7).

Ryža. 10.7. Systém sa správa dobre
nesprávne. Riešenie je na hranici udržateľnosti

Výpočet pri Δ t= 0,5 (tabuľka 10.5).

Tabuľka 10.5.
Zmena teploty
telesá pri numerických
výpočet v prírastkoch po 0,5

krok
t A B
0 0 8 5
1 0.5 6.5 6.5
2 1.0 6.5 6.5

Riešenie je stabilné a zodpovedá správnemu kvalitatívnemu obrazu (pozri obr. 10.8). Telesné teploty sa k sebe postupne približujú a časom sa stávajú rovnakými. Ale riešenie má stále veľkú chybu.

Ryža. 10.8. Systém sa chová kvalitatívne korektne.
Riešenie (správanie systému) má veľkú chybu

Výpočet pri Δ t= 0,1 (tabuľka 10.6).

Tabuľka 10.6.
Zmena teploty
telesá pri numerických
výpočet v prírastkoch po 0,1

krok
t A B
0 0 8 5
1 0.1 7.7 5.3
2 0.2 7.46 5.54
3 0.3 7.27 5.73
4 0.4 7.12 5.88
5 0.5 7.00 6.00

Roztok je stabilný. Riešenie je presnejšie (pozri obr. 10.9).

Ryža. 10.9. Systém sa chová kvalitatívne korektne.
Kvantitatívne riešenie je presnejšie

Úloha zmeny veľkosti kroku je znázornená na obr. 10.10.

Ryža. 10.10. Vzťah medzi veľkosťou kroku výpočtu a stabilitou metódy a jej presnosťou (na príklade)

Diferenciálny systém rovnice sa nazýva systém tvaru

kde x je nezávislý argument,

y i - závislá funkcia, ,

y i | x=x0 =y i0 - počiatočné podmienky.

Funkcie yi(x), pri substitúcii sa sústava rovníc mení na identitu sa nazýva riešenie sústavy diferenciálnych rovníc.

Numerické metódy riešenia sústav diferenciálnych rovníc.


Diferenciálna rovnica druhého rádu nazývaná rovnica tvaru



Nazýva sa funkcia y(x), pri ktorej substitúcii sa rovnica stáva identitou riešenie diferenciálnej rovnice.

Číselne sa hľadá konkrétne riešenie rovnice (2), ktoré vyhovuje daným počiatočným podmienkam, čiže Cauchyho úloha je vyriešená.

Pre numerické riešenie sa diferenciálna rovnica druhého rádu transformuje na systém dvoch diferenciálnych rovníc prvého rádu a redukuje sa na pohľad na stroj (3). Na tento účel sa zavedie nová neznáma funkcia, na ľavej strane každej rovnice systému sú ponechané iba prvé derivácie neznámych funkcií a na pravej strane by nemali byť žiadne derivácie.

. (3)


Funkcia f 2 (x, y 1, y) je formálne zavedená do systému (3), takže metódy, ktoré budú ukázané nižšie, môžu byť použité na riešenie ľubovoľného systému diferenciálnych rovníc prvého rádu. Zoberme si niekoľko numerických metód na riešenie systému (3). Vypočítané závislosti pre i+1 integračný krok sú nasledovné. Na vyriešenie systému n rovníc sú výpočtové vzorce uvedené vyššie. Na vyriešenie systému dvoch rovníc je vhodné napísať výpočtové vzorce bez dvojitých indexov v nasledujúcom tvare:

  1. Eulerova metóda.

    y1,i+1 =y1,i +hf1 (xi, y1,i, yi),

    y i+1 = y i + hf 2 (x i, y 1, i, y i),

  2. Metóda Runge-Kutta štvrtého rádu.

    y1,i+1 =y1,i +(m1+2m2+2m3+m4)/6,

    y i+1 =y i +(k 1 +2k 2 +2k 3 +k 4)/6,

    m 1 = hf 1 (xi, y1,i, yi),

    k1 = hf2 (xi, y1,i, yi),

    m2 = hf 1 (x i + h/2, y 1, i + m 1 /2, y i + k 1 /2),

    k2 = hf2 (x i + h/2, y 1, i + m 1 / 2, y i + k 1 / 2),

    m3 = hf 1 (x i + h/2, y 1, i + m 2 / 2, y i + k 2 / 2),

    k3 = hf2 (x i + h/2, y 1, i + m 2 / 2, y i + k 2 / 2),

    m4 = hf 1 (x i + h, y 1, i + m 3, y i + k 3),

    k4 = hf2 (x i + h, y 1, i + m 3, y i + k 3),

    kde h je integračný krok. V nulovom kroku sa berú do úvahy počiatočné podmienky pri numerickej integrácii: i=0, x=x 0, y 1 = y 10, y=y 0.

Zadanie testu na testovaciu prácu.

Oscilácie s jedným stupňom voľnosti

Cieľ.Štúdium numerických metód riešenia diferenciálnych rovníc druhého rádu a systémov diferenciálnych rovníc prvého rádu.

Cvičenie. Nájdite číselne a analyticky:

  1. zákon pohybu hmotného bodu na pružine x(t),
  2. zákon zmeny prúdu I(t) v oscilačnom obvode (RLC obvod) pre režimy uvedené v tabuľke 1 a 2. Zostrojte grafy požadovaných funkcií.

Možnosti úloh.


Tabuľka režimov



Možnosti úloh a čísla režimov:

  1. bodový pohyb
  2. RLC - obvod


Pozrime sa podrobnejšie na postup zostavovania diferenciálnych rovníc a ich uvedenia do strojovej podoby, aby sme opísali pohyb telesa na pružine a RLC obvode.


  1. Názov, účel práce a úloha.
  2. Matematický popis, algoritmus (štruktogram) a text programu.
  3. Šesť grafov závislosti (tri presné a tri približné) x(t) alebo I(t), závery k práci.

Katedra fyzikálnej chémie SFU (RSU)
NUMERICKÉ METÓDY A PROGRAMOVANIE
Materiály pre prednáškový kurz
Lektor – čl. Rev. Shcherbakov I.N.

RIEŠENIE OBYČAJNÝCH DIFERENCIÁLNYCH ROVNIC

Formulácia problému

Pri riešení vedeckých a inžinierskych problémov je často potrebné matematicky popísať nejaký dynamický systém. Najlepšie je to urobiť vo forme diferenciálnych rovníc ( DU) alebo sústavy diferenciálnych rovníc. Najčastejšie tento problém vzniká pri riešení úloh súvisiacich s modelovaním kinetiky chemických reakcií a rôznych prenosových javov (teplo, hmotnosť, hybnosť) - prenos tepla, miešanie, sušenie, adsorpcia, pri popise pohybu makro- a mikročastíc.

Obyčajná diferenciálna rovnica(ODE) n-tého rádu je nasledujúca rovnica, ktorá obsahuje jednu alebo viac derivácií požadovanej funkcie y(x):

Tu y(n) označuje deriváciu rádu n nejakej funkcie y(x), x je nezávislá premenná.

V niektorých prípadoch môže byť diferenciálna rovnica transformovaná do formy, v ktorej je najvyššia derivácia vyjadrená explicitne. Táto forma zápisu sa nazýva rovnica, rozlíšené vzhľadom na najvyššiu deriváciu(v tomto prípade na pravej strane rovnice chýba najvyššia derivácia):

Práve táto forma záznamu je akceptovaná ako štandardné pri zvažovaní numerických metód riešenia ODR.

Lineárna diferenciálna rovnica je rovnica, ktorá je lineárna vzhľadom na funkciu y(x) a všetky jej derivácie.

Napríklad nižšie sú lineárne ODR prvého a druhého rádu

Riešenie obyčajnej diferenciálnej rovnice je funkcia y(x), ktorá pre ľubovoľné x spĺňa túto rovnicu v určitom konečnom alebo nekonečnom intervale. Proces riešenia diferenciálnej rovnice je tzv integráciou diferenciálnej rovnice.

Všeobecné riešenie ODR N-tý rád obsahuje n ľubovoľných konštánt C 1 , C 2 , …, C n

To samozrejme vyplýva zo skutočnosti, že neurčitý integrál sa rovná primitívnej derivácii integrandu plus konštanta integrácie

Keďže na riešenie diferenciálnych rovníc n-tého rádu je potrebných n integrácií, vo všeobecnom riešení sa objavuje n integračných konštánt.

Súkromné ​​riešenie ODE sa získa zo všeobecnej, ak integračné konštanty majú určité hodnoty definovaním niektorých dodatočných podmienok, ktorých počet nám umožňuje vypočítať všetky neisté integračné konštanty.

Presné (analytické) riešenie (všeobecná alebo partikulárna) diferenciálnej rovnice znamená získať požadované riešenie (funkcia y(x)) vo forme výrazu z elementárnych funkcií. To nie je vždy možné ani pre rovnice prvého rádu.

Numerické riešenie DE (kvocient) spočíva vo výpočte funkcie y(x) a jej derivácií v určitých bodoch ležiacich na určitom segmente. To znamená, že v skutočnosti sa riešenie diferenciálnej rovnice n-tého rádu získa vo forme nasledujúcej tabuľky čísel (stĺpec hodnôt najvyššej derivácie sa vypočíta dosadením hodnôt do rovnica):

Napríklad pre diferenciálnu rovnicu prvého rádu bude mať tabuľka riešenia dva stĺpce – x a y.

Volá sa množina hodnôt úsečiek, v ktorých je určená hodnota funkcie pletivo, na ktorom je definovaná funkcia y(x). Samotné súradnice sú tzv uzly mriežky. Najčastejšie sa pre pohodlie používajú jednotné mriežky, v ktorom je rozdiel medzi susednými uzlami konštantný a nazýva sa rozstup mriežky alebo integračný krok Diferenciálnej rovnice

alebo i= 1, ..., N

Na určenie súkromné ​​riešenie je potrebné nastaviť ďalšie podmienky, ktoré umožnia výpočet integračných konštánt. Navyše, takýchto podmienok by malo byť presne n. Pre rovnice prvého poriadku - jedna, pre rovnice druhého - 2 atď. V závislosti od spôsobu ich špecifikácie pri riešení diferenciálnych rovníc existujú tri typy problémov:

· Cauchy problém (počiatočný problém): Treba nájsť niečo také súkromné ​​riešenie diferenciálnu rovnicu, ktorá spĺňa určité počiatočné podmienky špecifikované v jednom bode:

to znamená, že je daná určitá hodnota nezávisle premennej (x 0) a hodnota funkcie a všetkých jej derivácií až po rád (n-1) v tomto bode. Tento bod (x 0) sa nazýva primárny. Napríklad, ak sa rieši DE 1. rádu, potom sú počiatočné podmienky vyjadrené ako dvojica čísel (x 0 , y 0)

Tento druh problému sa vyskytuje pri riešení ODE, ktoré popisujú napríklad kinetiku chemických reakcií. V tomto prípade sú koncentrácie látok v počiatočnom okamihu známe ( t = 0) a je potrebné zistiť koncentrácie látok po určitom čase ( t). Ako príklad môžeme uviesť aj problém prestupu tepla alebo prestupu hmoty (difúzie), pohybovú rovnicu hmotného bodu vplyvom síl a pod.

· Problém hraničnej hodnoty . V tomto prípade sú hodnoty funkcie a (alebo) jej deriváty známe vo viac ako jednom bode, napríklad v počiatočných a konečných časových okamihoch, a je potrebné nájsť konkrétne riešenie diferenciálnej rovnice. medzi týmito bodmi. Samotné dodatočné podmienky sú v tomto prípade tzv regionálne (hranica) podmienky. Prirodzene, problém okrajovej hodnoty možno vyriešiť pre ODR aspoň 2. rádu. Nižšie je uvedený príklad ODR druhého rádu s okrajovými podmienkami (uvedené sú funkčné hodnoty v dvoch rôznych bodoch):

· Sturm-Liouville problém (problém vlastných hodnôt). Problémy tohto typu sú podobné hraničným problémom. Pri ich riešení je potrebné nájsť, pri akých hodnotách ktoréhokoľvek parametra je riešenie DU spĺňa okrajové podmienky (vlastné hodnoty) a funkcie, ktoré sú riešením DE pre každú hodnotu parametra (vlastné funkcie). Napríklad mnohé problémy v kvantovej mechanike sú problémy vlastných hodnôt.

Numerické metódy riešenia Cauchyho problému ODR prvého rádu

Uvažujme o niektorých numerických metódach riešenia Cauchy problémy(počiatočný problém) obyčajné diferenciálne rovnice prvého rádu. Napíšme túto rovnicu vo všeobecnom tvare, vyriešenú vzhľadom na deriváciu (pravá strana rovnice nezávisí od prvej derivácie):

(6.2)

Je potrebné nájsť hodnoty funkcie y v daných bodoch mriežky, ak sú známe počiatočné hodnoty, kde je hodnota funkcie y(x) v počiatočnom bode x 0.

Transformujme rovnicu vynásobením d x

A integrujeme ľavú a pravú stranu medzi i-tým a i+ 1. uzlom mriežky.

(6.3)

Získali sme výraz pre konštrukciu riešenia v integračnom uzle i+1 prostredníctvom hodnôt x a y v i-tom uzle mriežky. Problém však spočíva v tom, že integrál na pravej strane je integrálom implicitne danej funkcie, čo je vo všeobecnosti nemožné nájsť v analytickej forme. Numerické metódy riešenia ODR rôznymi spôsobmi aproximovať (približovať) hodnotu tohto integrálu na zostavenie vzorcov pre numerickú integráciu ODR.

Z mnohých metód vyvinutých na riešenie ODR prvého rádu považujeme metódy , a . Sú pomerne jednoduché a poskytujú počiatočnú predstavu o prístupoch k riešeniu tohto problému v rámci numerického riešenia.

Eulerova metóda

Historicky prvý a najväčší jednoduchým spôsobom Numerickým riešením Cauchyho úlohy pre ODR prvého rádu je Eulerova metóda. Je založená na aproximácii derivácie pomerom konečných prírastkov závislej ( r) a nezávislé ( X) premenné medzi uzlami rovnomernej siete:

kde y i+1 je požadovaná hodnota funkcie v bode x i+1.

Ak teraz transformujeme túto rovnicu a vezmeme do úvahy rovnomernosť integračnej mriežky, dostaneme iteračný vzorec, pomocou ktorého môžeme vypočítať y i+1, ak je y i známe v bode x i:

Pri porovnaní Eulerovho vzorca so všeobecným výrazom získaným skôr je zrejmé, že na približný výpočet integrálu v Eulerova metóda používa najjednoduchší integračný vzorec - vzorec obdĺžnikov pozdĺž ľavého okraja segmentu.

Jednoduchá je aj grafická interpretácia Eulerovej metódy (pozri obrázok nižšie). Na základe tvaru riešenej rovnice () skutočne vyplýva, že hodnota je hodnotou derivácie funkcie y(x) v bode x=x i -, a teda sa rovná dotyčnici dotyčnicový uhol nakreslený ku grafu funkcie y(x) v bode x =x i .

Z pravého trojuholníka na obrázku nájdete

Odtiaľ pochádza Eulerov vzorec. Podstatou Eulerovej metódy je teda nahradenie funkcie y(x) na integračnom segmente priamkou dotyčnicou ku grafu v bode x=x i. Ak sa požadovaná funkcia výrazne líši od lineárnej na integračnom segmente, potom bude chyba výpočtu významná. Chyba Eulerovej metódy je priamo úmerná integračnému kroku:

Chyba~h

Proces výpočtu je štruktúrovaný nasledovne. Pre dané počiatočné podmienky x 0 A y 0 možno vypočítať

Tabuľka funkčných hodnôt y(x) je teda skonštruovaná s určitým krokom ( h) Podľa X na segmente. Chyba pri definovaní hodnoty y (x i) v tomto prípade, čím menšia je zvolená dĺžka kroku, tým menšia bude h(ktorá je určená presnosťou integračného vzorca).

Pre veľké h je Eulerova metóda veľmi nepresná. Poskytuje čoraz presnejšiu aproximáciu s klesajúcim krokom integrácie. Ak je segment príliš veľký, potom sa každý úsek rozdelí na N integračných segmentov a na každý z nich sa použije Eulerov vzorec s krokom, to znamená, že integračný krok h je menší ako krok mriežky, na ktorej je riešenie. je určený.

Príklad:

Pomocou Eulerovej metódy vytvorte približné riešenie nasledujúceho Cauchyho problému:

Na mriežke s krokom 0,1 v intervale (6,5)

Riešenie:

Táto rovnica už bola napísaná v štandardnej forme, vyriešená s ohľadom na deriváciu požadovanej funkcie.

Preto pre rovnicu, ktorá sa rieši, máme

Zoberme si integračný krok rovný mriežkovému kroku h = 0,1. V tomto prípade sa pre každý uzol mriežky vypočíta iba jedna hodnota (N=1). Pre prvé štyri uzly mriežky budú výpočty nasledovné:

Úplné výsledky (s presnosťou na piate desatinné miesto) sú uvedené v treťom stĺpci - h = 0,1 (N = 1). Pre porovnanie, druhý stĺpec tabuľky zobrazuje hodnoty vypočítané z analytického riešenia tejto rovnice .

Druhá časť tabuľky ukazuje relatívnu chybu získaných riešení. Je možné vidieť, že pri h = 0,1 je chyba veľmi veľká a dosahuje 100 % pre prvý uzol x = 0,1.

Tabuľka 1 Riešenie rovnice Eulerovou metódou (pre stĺpce je uvedený integračný krok a počet integračných segmentov N medzi uzlami siete)

XPresné
Riešenie
0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
1 2 4 16 64 128 512
0 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000
0,1 0,004837 0,000000 0,002500 0,003688 0,004554 0,004767 0,004802 0,004829
0,2 0,018731 0,010000 0,014506 0,016652 0,018217 0,018603 0,018667 0,018715
0,3 0,040818 0,029000 0,035092 0,037998 0,040121 0,040644 0,040731 0,040797
0,4 0,070320 0,056100 0,063420 0,066920 0,069479 0,070110 0,070215 0,070294
0,5 0,106531 0,090490 0,098737 0,102688 0,105580 0,106294 0,106412 0,106501
0,6 0,148812 0,131441 0,140360 0,144642 0,147779 0,148554 0,148683 0,148779
0,7 0,196585 0,178297 0,187675 0,192186 0,195496 0,196314 0,196449 0,196551
0,8 0,249329 0,230467 0,240127 0,244783 0,248202 0,249048 0,249188 0,249294
0,9 0,306570 0,287420 0,297214 0,301945 0,305423 0,306284 0,306427 0,306534
1 0,367879 0,348678 0,358486 0,363232 0,366727 0,367592 0,367736 0,367844

Relatívne chyby vypočítaných funkčných hodnôt pre rôzne h

X h 0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
N 1 2 4 16 64 128 512
0,1 100,00% 48,32% 23,76% 5,87% 1,46% 0,73% 0,18%
0,2 46,61% 22,55% 11,10% 2,74% 0,68% 0,34% 0,09%
0,3 28,95% 14,03% 6,91% 1,71% 0,43% 0,21% 0,05%
0,4 20,22% 9,81% 4,83% 1,20% 0,30% 0,15% 0,04%
0,5 15,06% 7,32% 3,61% 0,89% 0,22% 0,11% 0,03%
0,6 11,67% 5,68% 2,80% 0,69% 0,17% 0,09% 0,02%
0,7 9,30% 4,53% 2,24% 0,55% 0,14% 0,07% 0,02%
0,8 7,57% 3,69% 1,82% 0,45% 0,11% 0,06% 0,01%
0,9 6,25% 3,05% 1,51% 0,37% 0,09% 0,05% 0,01%
1 5,22% 2,55% 1,26% 0,31% 0,08% 0,04% 0,01%

Znížime integračný krok na polovicu, h = 0,05, v tomto prípade pre každý uzol siete bude výpočet vykonaný v dvoch krokoch (N = 2). Takže pre prvý uzol x = 0,1 dostaneme:

(6.6)

Ukázalo sa, že tento vzorec je implicitný vzhľadom na y i+1 (táto hodnota je na ľavej aj pravej strane výrazu), to znamená, že je to rovnica vzhľadom na y i+1, ktorú možno vyriešiť, napríklad numericky pomocou nejakej iteračnej metódy (v takejto forme ju možno považovať za iteračnú formulu jednoduchej iteračnej metódy). Môžete to však urobiť inak a približne vypočítať hodnotu funkcie v uzle i+1 pomocou obvyklého vzorca:

,

ktoré potom možno použiť pri výpočte podľa (6.6).

Toto dáva metódu Guna alebo Eulerova metóda s prepočtom. Pre každý integračný uzol sa vykoná nasledujúci reťazec výpočtov

(6.7)

Vďaka presnejšiemu integračnému vzorcu je chyba Hünovej metódy úmerná druhej mocnine integračného kroku.

Chyba~ h 2

Prístup použitý v Günovej metóde sa používa na konštrukciu metód tzv prognóza a korekcia, o ktorom bude reč neskôr.

Príklad:

Vykonajte výpočty pre rovnicu () pomocou Hünovej metódy.

S integračným krokom h = 0,1 v prvom uzle mriežky x 1 získame:

Čo je oveľa presnejšie ako hodnoty získané Eulerovou metódou s rovnakým integračným krokom. Tabuľka 2 nižšie uvádza porovnávacie výsledky výpočtov pre h = 0,1 Eulerovej a Günovej metódy.

Tabuľka 2 Riešenie rovnice Eulerovou a Günovou metódou

X Presné Günova metóda Eulerova metóda
r rel. chyba r rel. chyba
0 0,000000 0,00000 0,00000
0,1 0,004837 0,00500 3,36% 0,00000 100,00%
0,2 0,018731 0,01903 1,57% 0,01000 46,61%
0,3 0,040818 0,04122 0,98% 0,02900 28,95%
0,4 0,070320 0,07080 0,69% 0,05610 20,22%
0,5 0,106531 0,10708 0,51% 0,09049 15,06%
0,6 0,148812 0,14940 0,40% 0,13144 11,67%
0,7 0,196585 0,19721 0,32% 0,17830 9,30%
0,8 0,249329 0,24998 0,26% 0,23047 7,57%
0,9 0,306570 0,30723 0,21% 0,28742 6,25%
1 0,367879 0,36854 0,18% 0,34868 5,22%

Všimnime si výrazné zvýšenie presnosti výpočtov Hünovej metódy v porovnaní s Eulerovou metódou. Pre uzol x = 0,1 sa teda relatívna odchýlka funkčnej hodnoty určená Huynovou metódou ukazuje ako 30 (!) krát menšia. Rovnaká presnosť výpočtov pomocou Eulerovho vzorca sa dosiahne, keď počet integračných segmentov N je približne 30. V dôsledku toho pri použití Hünovej metódy s rovnakou presnosťou výpočtov zaberie počítač približne 15-krát menej času ako pri použití Eulerovej metódy. .

Kontrola stability roztoku

Riešenie ODR v určitom bode x i sa nazýva stabilné, ak je hodnota funkcie nájdená v tomto bode y i sa mení málo, keď sa integračný krok znižuje. Na kontrolu stability je preto potrebné vykonať dva výpočty hodnoty ( y i) – s integračným krokom h a so zmenšenou (napríklad dvojicou) veľkosťou kroku

Ako kritérium stability môžete použiť maličkosť relatívnej zmeny v získanom riešení pri znížení integračného kroku (ε je vopred určená malá hodnota)

Túto kontrolu je možné vykonať pre všetky riešenia v celom rozsahu hodnôt X. Ak podmienka nie je splnená, krok sa opäť rozdelí na polovicu a nájde sa nové riešenie atď. kým sa nezíska stabilný roztok.

Metódy Runge-Kutta

Ďalšie zlepšenie presnosti riešenia ODR prvého rádu je možné zvýšením presnosti približného výpočtu integrálu vo výraze.

Už sme videli výhodu prechodu od integrácie pomocou obdĺžnikového vzorca () k použitiu lichobežníkového vzorca () pri aproximácii tohto integrálu.

Pomocou osvedčeného Simpsonovho vzorca môžete získať ešte presnejší vzorec na riešenie Cauchyho problému pre ODR prvého rádu - metódu Runge-Kutta široko používanú vo výpočtovej praxi.

Výhodou Adamsových viackrokových metód riešenia ODR je, že v každom uzle sa počíta len jedna hodnota pravej strany ODR - funkcia F(x,y). Medzi nevýhody patrí nemožnosť spustiť viackrokovú metódu z jedného východiskového bodu, keďže výpočty pomocou k-krokového vzorca vyžadujú znalosť hodnoty funkcie v k uzloch. Preto je potrebné získať (k-1) riešenie na prvých uzloch x 1, x 2, ..., x k-1 pomocou niektorej jednokrokovej metódy, napr.