» »

Numerikus Euler-módszer. Euler módszer

12.04.2021

Euler módszere. Továbbfejlesztett Euler-módszer.
Klasszikus Runge-Kutta módszer

A számítási matematikát és a differenciálegyenleteket sem kímélték! Ma az órán megtanuljuk az alapokat közelítő számítások a matematikai elemzésnek ebben a részében, ami után vastag, nagyon vastag könyvek nyílnak meg előtted a témában. Mert a számítási matematika még nem kerülte meg a diffúziós oldalt =)

A címben felsorolt ​​módszerek célja Bezárás megoldások keresése differenciál egyenletek, távirányító rendszerek, és a leggyakoribb probléma rövid leírása a következő:

Mérlegeljük elsőrendű differenciálegyenlet, amelyhez meg kell találnia privát megoldás, amely megfelel a kezdeti feltételnek. Mit jelent? Ez azt jelenti, hogy meg kell találnunk funkció (a létezését feltételezik), amely kielégíti ezt a különbséget. egyenlet, és amelynek grafikonja átmegy a ponton.

De itt van a probléma: lehetetlen elválasztani a változókat az egyenletben. A tudomány számára semmiképpen sem ismert. És ha lehetséges, akkor kiderül törhetetlen integrál. Létezik azonban egy sajátos megoldás! És itt a közelítő számítások módszerei jönnek a segítségre, amelyek lehetővé teszik a magas értékeket (és gyakran a legmagasabbal) pontosan „szimulál” egy függvényt egy bizonyos intervallumon keresztül.

Az Euler és Runge-Kutta módszerek ötlete a gráf egy részének cseréje szaggatott vonal, és most megtudjuk, hogyan valósul meg ez az ötlet a gyakorlatban. És nem csak megtudjuk, hanem közvetlenül megvalósítjuk is =) Kezdjük a történetileg első és legegyszerűbb módszerrel. ...Szeretne egy összetett differenciálegyenlettel foglalkozni? Ez az, amit én sem akarok :)

Gyakorlat

Keresse meg a kezdeti feltételnek megfelelő differenciálegyenlet adott megoldását az Euler-módszerrel egy lépéses szakaszon. Készítsen táblázatot és grafikont egy közelítő megoldásról!

Találjuk ki. Először is megvan a szokásos lineáris egyenlet, amely szokásos módszerekkel megoldható, és ezért nagyon nehéz ellenállni a kísértésnek, hogy azonnal megtaláljuk a pontos megoldást:

– bárki ellenőrizheti és megbizonyosodhat arról, hogy ez a függvény kielégíti a kezdeti feltételt, és az egyenlet gyöke.

Mit kell tenni? Meg kell találni és építeni szaggatott vonal, ami közelíti a függvény grafikonját az intervallumon. Mivel ennek az intervallumnak a hossza eggyel egyenlő, a lépés pedig , akkor a mi szaggatott vonal 10 szegmensből fog állni:

Ráadásul pont már ismert - megfelel a kezdeti feltételnek. Ezenkívül más pontok „X” koordinátái nyilvánvalóak:

Már csak meg kell találni . Egyik sem különbségtételÉs integráció– csak összeadás és szorzás! Minden további „játék” értéket az előzőből kapunk egy egyszerű visszatérő képlet:

Képzeljük el a differenciálegyenletet a következő formában:

És így:

„Kioldunk” a kezdeti állapotból:

Essünk neki:

A számítási eredményeket kényelmesen beírhatja egy táblázatba:

És automatizálja magukat a számításokat Excelben - mert a matematikában nem csak a nyerő, hanem a gyors befejezés is fontos :)

A 2. és 3. oszlop eredményei alapján a rajzon 11 pontot és 10 szomszédos pontokat összekötő szakaszt ábrázolunk. Összehasonlításképpen ábrázolom a pontos részmegoldást :


Az egyszerű Euler-módszer jelentős hátránya, hogy a hiba túl nagy, és könnyen észrevehető, hogy a hiba hajlamos halmozódni – minél távolabb haladunk a ponttól, főként a közelítés és az igazság közötti eltérés nagyobb lesz. Ez azzal az elvvel magyarázható, amelyre Euler a módszerét alapozta: a szakaszok párhuzamosak ide vonatkozó tangens pontokban lévő függvény grafikonjára. Ez a tény egyébként a rajzon is jól látható.

Hogyan javíthatja a közelítést? Az első gondolat a partíció finomítása. Osszuk fel például a szegmenst 20 részre. Akkor a lépés a következő lesz: , és teljesen egyértelmű, hogy egy 20 linkből álló szaggatott vonal sokkal pontosabban közelíti meg az adott megoldást. Ugyanazzal az Excellel nem lesz nehéz 100-1000, sőt millió (!) köztes szegmenst feldolgozni, de tegyük fel magunknak a kérdést: lehet-e MINŐSÉGIleg javítani a módszert?

Mielőtt azonban felfedném ezt a kérdést, nem tudok nem foglalkozni egy ma többször említett névvel. Olvasás Leonhard Euler életrajza, egyszerűen elképesztő, hogy egy ember milyen hihetetlenül sok mindenre képes az életében! Ehhez képest csak K.F.-re emlékeztem. Gauss. ...Így igyekszünk nem veszíteni a motivációt a tanuláshoz és az új felfedezésekhez :))

Továbbfejlesztett Euler-módszer

Tekintsük ugyanazt a példát: egy differenciálegyenlet, egy adott megoldás, amely kielégíti a feltételt, egy intervallum és annak 10 részre osztása
( – az egyes részek hossza).

A fejlesztés célja, hogy a vonallánc „piros négyzetei” közelebb kerüljenek a pontos megoldás megfelelő „zöld pontjaihoz”. .

A módosítás ötlete pedig a következő: a szegmenseknek párhuzamosaknak kell lenniük tangens, amelyeket a függvény grafikonjára rajzolunk nem a bal széleken, és a partíciós intervallumok „közepén”. Ami természetesen javítja a közelítés minőségét.

A megoldási algoritmus ugyanebben a szellemben működik, de a képlet, ahogy sejtheti, bonyolultabbá válik:
, Ahol

Újra táncolni kezdünk az adott megoldástól, és azonnal megtaláljuk a „külső” függvény 1. argumentumát:

Most megtaláltuk a „szörnyünket”, amely nem volt olyan ijesztő - kérjük, vegye figyelembe, hogy ez UGYANAZ a funkció , egy másik pontból számítva:

Az eredményt megszorozzuk a particionálás lépésével:

És így:

Az algoritmus a második körbe lép, ezért nem leszek lusta, és részletesen leírom:

Figyelembe vesszük a párt és megtaláljuk a „külső” függvény 1. argumentumát:

Kiszámoljuk és megtaláljuk a második argumentumot:

Számítsuk ki az értéket:

és lépésenkénti terméke:

A számításokat célszerű Excelben végezni (a képletek megismétlése ugyanazon séma szerint - lásd a fenti videót), és foglalja össze az eredményeket egy táblázatban:


A számokat 4-5-6 tizedesjegyre célszerű kerekíteni. Gyakran egy adott feladat körülményei között van közvetlen utasítás, milyen pontossággal kell a kerekítést elvégezni. Az erősen „farokba zárt” értékeket 6 számjegyre vágtam.

A 2. és 3. oszlop eredményei alapján (bal)építsünk szaggatott vonal, és összehasonlításképpen ismét megmutatom a pontos megoldás grafikonját :


Az eredmény jelentősen javult! – a piros négyzetek gyakorlatilag a pontos megoldás zöld pontjai mögé „bújtak”.

A tökéletességnek azonban nincsenek határai. Egy fej jó, de két jobb. És még egyszer németül:

Klasszikus, 4. rendű Runge-Kutta módszer

Célja, hogy a „piros négyzeteket” még közelebb hozza a „zöld pontokhoz”. Azt kérdezed, hol még közelebb? Sok – különösen a fizikai – tanulmányban a 10. vagy akár az 50. ALAPVETŐEN fontos pontos tizedesjegy. Nem, ekkora pontosságot az egyszerű Euler-módszerrel is el lehet érni, de HÁNY részre kell majd felosztani az intervallumot?! ...Bár ​​a modern számítási teljesítmény mellett ez nem probléma - a kínai űrhajó több ezer stokerje garantálja!

És ahogy a cím is sugallja, a Runge-Kutta módszer használatakor minden lépésnél ki kell számítanunk a függvény értékét 4 alkalommal (szemben az előző bekezdésben szereplő kettős számítással). De ez a feladat meglehetősen kezelhető, ha felveszi a kínait. Minden következő „játék” értéket az előzőből kapunk - elkapjuk a képleteket:
, Ahol , Ahol:

Kész? Na akkor kezdjük :))


És így:

Az első sor be van programozva, és a képleteket így másolom:


Nem gondoltam volna, hogy ilyen gyorsan túlteszem a Runge-Kutta módszert =)

A rajznak nincs értelme, mert már nem reprezentatív. Vegyünk egy jobb analitikus összehasonlítást pontosság három módszerrel, mert ha a pontos megoldás ismert , akkor bűn nem összehasonlítani. A csomópontokban lévő függvényértékek könnyen kiszámíthatók az Excelben - egyszer beírjuk a képletet, és megismételjük a többire.

Az alábbi táblázatban összefoglalom az értékeket (mindhárom módszerre) és a megfelelőt abszolút hibák hozzávetőleges számítások:


Mint látható, a Runge-Kutta módszer már 4-5 helyes tizedesjegyet ad a továbbfejlesztett Euler-módszer 2 helyes tizedesjegyéhez képest! És ez nem véletlen:

– A „hétköznapi” Euler-módszer hibája nem haladja meg lépés válaszfalak. És valójában - nézd meg a bal szélső hibaoszlopot - a tizedesjegyek után csak egy nulla van, ami azt jelzi, hogy a pontosság 0,1.

– A továbbfejlesztett Euler-módszer garantálja a pontosságot: (nézz 2 nullát a tizedesvessző után a középső hibaoszlopban).

– És végül a klasszikus Runge-Kutta módszer biztosítja a pontosságot .

A bemutatott hibabecslések elméletileg szigorúan indokoltak.

Hogyan javíthatja a közelítés pontosságát TÖBBÉ? A válasz egyenesen filozófiai: minőség és/vagy mennyiség =) A Runge-Kutta módszernek különösen vannak más, pontosabb módosításai. A mennyiségi módszer, mint már említettük, a lépés csökkentése, azaz. egy szegmens nagyobb számú köztes szegmensre való felosztásában. És ennek a számnak a növekedésével egy szaggatott vonal egyre jobban hasonlít majd a pontos megoldás grafikonjára És a határban- egybeesik vele.

A matematikában ezt a tulajdonságot ún a görbe egyenesíthetősége. Apropó (kis offtopic), nem mindent lehet „kiegyenesíteni” - javaslom, hogy olvassa el a legérdekesebbeket, amelyekben a „tanulmányozási terület” csökkentése nem jelenti a tanulmányi tárgy egyszerűsítését.

Így történt, hogy csak egy differenciálegyenletet elemeztem, és ezért néhány további megjegyzést. Mit kell még a gyakorlatban szem előtt tartani? A problémafelvetésben előfordulhat, hogy egy másik szegmenst és egy másik partíciót kínálnak fel, és néha a következő megfogalmazást találjuk: „megtalálni a módszerrel... ...az intervallumon, 5 részre osztva.” Ebben az esetben meg kell találnia a partíció lépését , majd kövesse a szokásos megoldási sémát. Egyébként a kezdeti feltételnek a következő formájúnak kell lennie: , azaz „x nulla”, általában egybeesik a szegmens bal végével. Képletesen szólva a szaggatott vonal mindig „kijön” a pontból.

A vizsgált módszerek kétségtelen előnye, hogy nagyon összetett jobb oldali egyenletekre alkalmazhatók. És az abszolút hátránya, hogy nem minden diffúzort lehet ebben a formában bemutatni.

De ebben az életben szinte mindent meg lehet javítani! - végül is a témának csak egy töredékét vizsgáltuk, és a vastag, nagyon vastag könyvekről szóló mondatom egyáltalán nem volt tréfa. A differenciálegyenletek és rendszereik megoldására nagyon sokféle közelítő módszer létezik, amelyek többek között alapvetően eltérő megközelítéseket alkalmaznak. Így például egy adott megoldás lehet közelítő hatványsor szerint. Ez a cikk azonban egy másik részhez tartozik.

Remélem sikerült változatossá tenni az unalmas számítási matematikát, és érdekesnek találtad!

Köszönöm a figyelmet!

Ismertesse velünk a bemeneti dinamikus sorrendet x(bemeneti jel) és modell (a bemeneti jel kimeneti jellé alakításának módja). Megvizsgáljuk a kimeneti jel meghatározásának problémáját y(t) (lásd 10.1. ábra).

Egy dinamikus rendszer modellje ábrázolható differenciálegyenlettel. A dinamika alapegyenlete:

y" = f(x(t), y(t), t) .

A nulla időpont kezdeti feltételei ismertek t 0 : y(t 0) , x(t 0) . A kimeneti jel meghatározásához vegye figyelembe, hogy a derivált meghatározása szerint:

Ismerjük a rendszer helyzetét az „1” pontban, meg kell határoznunk a rendszer helyzetét a „2” pontban. A pontokat Δ távolság választja el egymástól t(10.2. ábra). Vagyis a rendszer viselkedését lépésről lépésre számítják ki. Az „1” pontból (diszkréten) ugrunk a „2” pontba, a pontok közötti távolságra a tengely mentén t hívott számítási lépés Δ t .

Rizs. 10.2. Illusztráció a rendszer jövőbeli állapotának kiszámításához
Euler-módszer egy lépésben

Az utolsó képletet Euler-képletnek nevezzük.

Nyilvánvalóan azért, hogy a jövőben megtudjuk a rendszer állapotát y(t + Δ t) , ez szükséges a rendszer jelenlegi állapotához y(t) Δ változás hozzáadása y, eltelt a Δ idő alatt t .

Nézzük meg még egyszer ezt a fontos összefüggést geometriai megfontolások alapján (10.3. ábra).

Rizs. 10.3. Az Euler-módszer geometriai illusztrációja

Legyen A az a pont, ahol a rendszer állapota ismert. Ez a rendszer „valódi” állapota.

Az A pontban egy érintőt húzunk a rendszer pályájára. Az érintő egy függvény deriváltja f(x(t), y(t), t) változó szerint t. A derivált egy ponton mindig könnyen kiszámítható, elegendő az ismert változókat (a pillanatnyilag „jelen” ismert) behelyettesíteni a képletbe. y" = f(x(t), y(t), t) .

Vegye figyelembe, hogy a derivált definíció szerint az érintő dőlésszögéhez kapcsolódik: y" = tg( α ) , ami a szöget jelenti α könnyen kiszámítható ( α = arctan( y" ) ) és rajzoljon egy érintőt.

Rajzolj egy érintőt, amíg az nem metszi a vonalat t + Δ t. Pillanat t + Δ t megfelel a rendszer „jövőbeni” állapotának. Rajzolj egy egyenest a tengellyel párhuzamosan t az A pontból az egyenes metszéspontjáig t + Δ t. Az egyenesek egy ABC derékszögű háromszöget alkotnak, amelynek egyik oldala egyenlő Δ-vel t(híres). A szög is ismert α . Ekkor a második láb az ABC derékszögű háromszögben egyenlő: a = Δ t tg( α ) . Most már könnyű kiszámítani a B pont ordinátáját. Két szakaszból áll y(t) És a. Az ordináta a rendszer helyzetét szimbolizálja egy pontban y(t + Δ t) . Azaz y(t + Δ t) = y(t) + a vagy tovább y(t + Δ t) = y(t) + Δ t tg( α ) vagy tovább helyettesítve van: y(t + Δ t) = y(t) + Δ t · y" és végül y(t + Δ t) = y(t) + Δ t · f(x(t), y(t), t) . Ismét megkaptuk az Euler-képletet (geometriai megfontolások alapján).

Ez a képlet csak nagyon kis Δ esetén tud pontos eredményt adni t(mondták a Δ-nél t>0). A Δ t≠0 a képlet megadja a valós érték közötti eltérést yés számított, egyenlő ε , ezért tartalmaznia kell egy hozzávetőleges egyenlőségjelet, vagy így kell írni:

y(t + Δ t) = y(t) + Δ t · f(x(t), y(t), t) + ε .

Valóban. Vessen egy pillantást még egyszer az ábrára. 10.3. Mentálisan mozgassuk a vonalat t + Δ t balra (valójában közelebb hozzuk a Δ értékét t nullára). Amint az könnyen látható, távolság BB * = ε , ez hiba! csökkenni fog. A határértékben (Δ-nél t>0) hibaérték ε nullával lesz egyenlő.

Tehát a valós görbét lecseréljük egy egyenesre (érintő) a Δ szakaszon t, hibát viszünk be a megoldásba, ami nem a „2” pontban (lásd 10.2. ábra), hanem a közelben, a „3” pontban végződik. Nyilvánvaló, hogy ez a numerikus módszer minden lépésben számítási hibával jár ε .

Az ábráról látható, hogy minél kisebb a Δ értéke t, annál kisebb lesz a számítási hiba ε . Vagyis a rendszer viselkedésének kiszámításához bármilyen hosszú időn keresztül (például: t 0-tól t k) a hiba csökkentése érdekében minden lépésnél, a Δ lépésekkel t a lehető legkisebb legyen. A lényeg eléréséhez t k vonalszakasz (t k – t 0) Δ hosszúságú szegmensekre osztva t; így minden sikerülni fog N = (t k – t 0)/Δ t lépések. A számítás eredményeként minden lépésnél alkalmaznia kell az Euler-képletet, azaz N egyszer. De ne feledje, hogy a hibákat ε én mindegyiken én-edik lépésben (a legegyszerűbb esetben) összeadódnak, és a teljes hiba gyorsan halmozódik (lásd 10.4. ábra). És ez ennek a módszernek egy jelentős hátránya. Bár ezzel a módszerrel bármilyen differenciálegyenletre (beleértve az analitikusan megoldhatatlanokat is) megoldást kaphatunk (numerikus formában). A lépések csökkentésével pontosabb megoldásokat kapunk, de nem szabad elfelejteni, hogy a lépések számának növelése számítási költségekhez és teljesítménycsökkenéshez vezet. Emellett a nagyszámú iteráció mellett egy másik jelentős hiba is bekerül a számításba a számítógépek korlátozott pontossága és a kerekítési hibák miatt.

Rizs. 10.4. Az Euler-módszer teljes hibájának növelése több lépésben

1. feladat. Adott egy differenciálegyenlet y" = 2ty . A rendszer kezdeti pozíciója be van állítva: y(0) = 1. Meg kell találni y(t), vagyis a rendszer viselkedése az időintervallumban t 0-tól 1-ig.

Az 1. feladat megoldásának analitikai módszere

y" = 2ty .

A változók szétválasztásának módszerével a következőket kapjuk:

y" /y = 2t

0-tól integrálni fogunk t én, akkor az integráció szabályai szerint:

Az így kapott analitikai megoldást az jellemzi, hogy abszolút pontos, de ha az egyenlet bonyolultnak bizonyul, akkor a megoldást egyáltalán nem találjuk meg. Az analitikai megoldás nem univerzális.

Numerikus módszer az 1. feladat megoldására

A numerikus megoldási módszer feltételezi, hogy a számítás az Euler-képlet szerint, több egymást követő lépésben történik. A megoldásnak minden lépésben megvan a maga hibája (lásd 10.2. ábra), mivel minden lépésben a görbét egy egyenes szakasz helyettesíti.

Algoritmikus megvalósításban a számítás olyan ciklusban valósul meg, amelyben a t(számláló t) És y :

A módszer számítógépen való megvalósításának blokkvázlata a 2. ábrán látható. 10.5.

Rizs. 10.5. Az Euler-módszer megvalósításának blokkdiagramja

A Stratum implementációban a rekord így fog kinézni (a „~” szimbólum jelenléte, amikor t ):

Keressük az értéket y korábban figyelembe vett példa numerikus formában a tól intervallumon T= 0 to T= 1. Vegyük a lépések számát n= 10, akkor a növekmény lépése Δ t lesz: Δ t= (1 0)/ n= (1 0)/10 = 0,1.

10.1. táblázat.
Az egyenlet numerikus kiszámítása Euler-módszerrel
és az eredmény összehasonlítása a pontos megoldással minden lépésnél
én t én y én = y én 1 + y" én 1 · Δ t y" én = 2t én · y én Δ y én = y" én · Δ t y én + 1 = y én + Δ y én y pontos = exp( t én 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

Felhívjuk figyelmét, hogy a számszerűen számított érték ( y én+ 1 ) eltér a pontostól ( y pontos ), és hiba (az oszlopok különbsége y én+ 1 és y pontos ábrán látható módon növekszik a számítási folyamat során. 10.4.

Most számoljuk ki a relatív hibát σ számított értékhez y(1) numerikusan kapott, összehasonlítva az elméleti egzakttal y elmélet a következő képlet szerint:

σ = (1 y kalc. / y elméleti) · 100%

és hasonlítsa össze σ különböző Δ értékekkel t .

Ha megváltoztatjuk a Δ lépésértéket t, például csökkentse a lépést, akkor a relatív számítási hiba is csökken. Ezt kapja az érték kiszámításakor y(1) -val különböző jelentések lépésben (lásd a 10.2. táblázatot).

10.2. táblázat.
Hibafüggőség
számítás Δ lépésméret alapján t
Δ t y kalc. (1) y elmélet (1) σ
1/10 2.3346 2.7183 14%
1/20 2.5107 2.7183 8%
1/100 2.6738 2.7183 2%

Amint látjuk, csökkenő növekményes Δ lépéssel t a relatív hiba csökken, ami azt jelenti, hogy a számítási pontosság nő.

Kérjük, vegye figyelembe, hogy a lépés 10-szeres módosítása (1/10-ről 1/100-ra) a hibaérték körülbelül 10-szeres változásához vezet (14%-ról 2%-ra). Ha a lépést 100-szor módosítja, a hiba is körülbelül 100-szorosára csökken. Más szóval, az Euler-módszer lépésmérete és hibája lineárisan összefügg. Ha 10-szeresére szeretné csökkenteni a hibát, csökkentse a lépést 10-szeresére, és ennek megfelelően növelje a számítások számát 10-szeresére. Ezt a tényt a matematikában általában a szimbólummal jelölik ε = Ot) , az Euler-módszert pedig az elsőrendű pontosság módszerének nevezzük.

Mivel az Euler-módszerben a hiba meglehetősen nagy és lépésről lépésre halmozódik fel, a pontosság pedig arányos a számítások számával, az Euler-módszert általában durva számításokhoz, a rendszer viselkedésének elvi értékelésére használják. A pontos mennyiségi számításokhoz pontosabb módszereket alkalmaznak.

Megjegyzések

  1. Mindegyik numerikus módszernek van pontossága, mert az eredmény eltér az elméletitől. A módszer pontossága a lépés méretétől függ. A különböző módszerek eltérő pontossággal rendelkeznek. A pontosság lépésnagyságtól való függésének sorrendjét a következőképpen jelöljük O(h) . Az Euler-módszer elsőrendű pontosságú, és a hiba lépésmérettől való függése lineáris.
  2. Ha a lépés csökkentésekor a határ y nértelemre törekszik y elmélet , akkor a módszerről azt mondják, hogy konvergál. A kutatókat a módszer konvergenciasebessége érdekli.
  3. A módszernek fenntarthatónak kell lennie. A stabilitás egy bizonyos kritikus lépésmérethez kapcsolódik. Instabilitás esetén a számítás minőségi képének teljes torzulása, az eredmény „lazasága” következik be.
  4. A módszer kiválasztásakor először a stabilitást, a stabilitási tartományon belül pedig az eredmény konvergenciáját célszerű elérni. A stabilitás minőségi képet biztosít. A konvergencia kvantitatív eredményt ad (lásd még: 10.10. ábra).

bekezdésekben rögzítve. Magyarázzuk meg egy példával az 1-4.

Példa. Hadd

Minőségileg ezek az egyenletek két test közötti hőcsere folyamatát írják le, amelyek hőmérsékletét egy adott időpontban úgy jelöljük. AÉs B. Egyáltalán AÉs B időben változó változók t. A rendszer viselkedésének megtalálása azt jelenti, hogy meg kell találnia, hogyan fog változni a hőmérséklet A(t) És B(t) .

Intuitív módon egyértelmű, hogy a kezdeti hőmérséklet-különbségnél A= 8 és B= 5 testhőmérséklet fokozatosan kiegyenlítődik az idő múlásával, mivel a melegebb test energiát ad a hidegebbnek, és a hőmérséklete csökken, a hidegebb pedig a melegebbtől kap energiát, és a hőmérséklete nő. A hőcsere folyamat akkor ér véget (vagyis a változások leállnak), ha a két test hőmérséklete azonos lesz.

Végezzünk néhány viselkedési számítást A(t) És B(t) különböző lépcsőméretekkel Δ t .

Különböző Δ lépésméreteket fogunk venni tés keresse meg a megfelelő értékeket AÉs B időben a következő Euler-képletek szerint:

Aúj = A előz + ( B előz ¶ A előz.) Δ t ,
Búj = B előz + ( A előz ¶ B előz.) Δ t .

Számítás Δ-nél t= 2 (10.3. táblázat).

Megfigyelhető a „lazaság” jelensége (lásd 10.6. ábra). Fenntarthatatlan megoldás. Fizikai megfontolások alapján nyilvánvaló, hogy két test nem tud így viselkedni a hőcsere folyamatában.

Rizs. 10.6. A rendszer jól viselkedik
rossz. A megoldás instabil

Számítás Δ-nél t= 1 (10.4. táblázat).

10.4. táblázat.
Hőmérséklet változás
testek a numerikus
számítás 1-es lépésekben

lépés
t A B
0 0 8 5
1 1 5 8
2 2 8 5

Megfigyelhető a rendszermegoldás viselkedése a stabilitási határon (lásd 10.7. ábra).

Rizs. 10.7. A rendszer jól viselkedik
rossz. A megoldás a fenntarthatóság küszöbén áll

Számítás Δ-nél t= 0,5 (10.5. táblázat).

10.5. táblázat.
Hőmérséklet változás
testek a numerikus
számítás 0,5-ös lépésekben

lépés
t A B
0 0 8 5
1 0.5 6.5 6.5
2 1.0 6.5 6.5

A megoldás stabil és megfelel a megfelelő minőségi képnek (lásd 10.8. ábra). A testhőmérséklet fokozatosan közeledik egymáshoz, és idővel azonos lesz. De a megoldásnak még mindig van egy nagy hibája.

Rizs. 10.8. A rendszer minőségileg megfelelően működik.
A megoldásban (rendszer viselkedésében) nagy a hiba

Számítás Δ-nél t= 0,1 (10.6. táblázat).

10.6. táblázat.
Hőmérséklet változás
testek a numerikus
számítás 0,1-es lépésekben

lépés
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

A megoldás stabil. A megoldás pontosabb (lásd 10.9. ábra).

Rizs. 10.9. A rendszer minőségileg megfelelően működik.
A kvantitatív megoldás pontosabb

A lépésméret változtatásának szerepét az ábra szemlélteti. 10.10.

Rizs. 10.10. A számítási lépés nagysága és a módszer stabilitása és pontossága közötti kapcsolat (példa felhasználásával)

Differenciálrendszer az egyenleteket alakrendszernek nevezzük

ahol x a független argumentum,

y i - függő függvény, ,

y i | x=x0 =y i0 - kezdeti feltételek.

Funkciók yi(x), behelyettesítéskor az egyenletrendszer azonossággá alakul ún differenciálegyenlet-rendszer megoldása.

Numerikus módszerek differenciálegyenletrendszerek megoldására.


Másodrendű differenciálegyenlet formaegyenletnek nevezzük



Az y(x) függvényt, amelynek behelyettesítésekor az egyenlet azonossággá válik, meghívjuk differenciálegyenlet megoldása.

A (2) egyenletre numerikusan egy sajátos megoldást keresünk, amely kielégíti az adott kezdeti feltételeket, vagyis megoldódik a Cauchy-probléma.

Numerikus megoldáshoz egy másodrendű differenciálegyenletet két elsőrendű differenciálegyenletből álló rendszerré alakítunk, és redukálunk gépi nézet (3). Ehhez egy új ismeretlen függvényt vezetünk be, a rendszer minden egyenletének bal oldalán az ismeretlen függvényeknek csak az első deriváltjai maradnak, a jobb oldalon pedig ne legyenek deriváltok.

. (3)


Az f 2 (x, y 1, y) függvény formálisan bekerült a (3) rendszerbe, így az alábbiakban bemutatott módszerek felhasználhatók egy tetszőleges elsőrendű differenciálegyenlet-rendszer megoldására. Tekintsünk több numerikus módszert a (3) rendszer megoldására. Az i+1 integrációs lépés kiszámított függőségei a következők. Egy n egyenletrendszer megoldásához a fenti számítási képleteket adjuk meg. Két egyenletrendszer megoldásához célszerű a számítási képleteket kettős indexek nélkül a következő formában írni:

  1. Euler módszer.

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

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

  2. Negyedrendű Runge-Kutta módszer.

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

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

    m 1 =hf 1 (x i , y 1, i , y i),

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

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

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

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

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

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

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

    ahol h az integrációs lépés. A numerikus integráció kezdeti feltételeit a nulla lépésben vesszük figyelembe: i=0, x=x 0, y 1 =y 10, y=y 0.

Tesztfeladat próbamunkához.

Egy szabadságfokú oszcillációk

Cél. Numerikus módszerek tanulmányozása másodrendű differenciálegyenletek és elsőrendű differenciálegyenletrendszerek megoldására.

Gyakorlat. Keresse meg numerikusan és analitikusan:

  1. egy anyagi pont mozgásának törvénye egy rugón x(t),
  2. az I(t) áram változásának törvénye az oszcillációs áramkörben (RLC áramkör) az 1. és 2. táblázatban meghatározott üzemmódokra. Készítsen grafikonokat a szükséges függvényekről!

Lehetőségek a feladatokhoz.


Mód táblázat



Feladatlehetőségek és módszámok:

  1. pont mozgása
  2. RLC - áramkör


Tekintsük részletesebben a differenciálegyenletek összeállításának és gépi formába hozásának eljárását, hogy leírjuk a test mozgását egy rugón és egy RLC-körön.


  1. Cím, munka és feladat célja.
  2. Matematikai leírás, algoritmus (struktogram) és programszöveg.
  3. A függőség hat grafikonja (három pontos és három közelítő) x(t) vagy I(t), következtetések a munkáról.

Fizikai Kémiai Tanszék, SFU (RSU)
NUMERIKUS MÓDSZEREK ÉS PROGRAMOZÁS
Anyagok az előadásokhoz
Előadó – Art. Fordulat. Shcherbakov I.N.

KÖZÖSSÉGES DIFFERENCIAEGYENLETEK MEGOLDÁSA

A probléma megfogalmazása

Tudományos és mérnöki problémák megoldása során gyakran szükséges valamilyen dinamikus rendszer matematikai leírása. Ezt legjobb differenciálegyenletek formájában megtenni ( DU) vagy differenciálegyenletrendszerek. Leggyakrabban ez a probléma a kémiai reakciók kinetikájának és a különféle transzferjelenségek (hő, tömeg, impulzus) - hőátadás, keverés, szárítás, adszorpció - modellezésével kapcsolatos problémák megoldása során merül fel, a makro- és mikrorészecskék mozgásának leírásánál.

Közönséges differenciálegyenlet Az n-edrendű (ODE) a következő egyenlet, amely a kívánt y(x) függvény egy vagy több deriváltját tartalmazza:

Itt y(n) valamely y(x) függvény n-rendű deriváltját jelöli, x a független változó.

Egyes esetekben a differenciálegyenlet olyan formává alakítható, amelyben a legmagasabb derivált kifejezetten van kifejezve. Ezt a jelölési formát egyenletnek nevezzük, a legmagasabb származékra vonatkoztatva oldjuk meg(ebben az esetben a legmagasabb derivált hiányzik az egyenlet jobb oldalán):

A felvételnek ezt a formáját fogadják el alapértelmezett amikor az ODE-k megoldásának numerikus módszereit mérlegeljük.

Lineáris differenciálegyenlet egy egyenlet, amely lineáris az y(x) függvényhez és annak összes deriváltjához képest.

Az alábbiakban például az első és a második sorrend lineáris ODE-i láthatók

Közönséges differenciálegyenlet megoldása egy y(x) függvény, amely bármely x esetén kielégíti ezt az egyenletet egy bizonyos véges vagy végtelen intervallumban. A differenciálegyenlet megoldásának folyamatát ún a differenciálegyenlet integrálásával.

Az ODE általános megoldása Az n-edik sorrend n tetszőleges C 1 , C 2 , …, C n állandót tartalmaz

Ez nyilvánvalóan abból következik, hogy a határozatlan integrál egyenlő az integrandus antideriváltjával plusz az integráció állandójával

Mivel az n-edrendű differenciálegyenletek megoldásához n integráció szükséges, az általános megoldásban n integrációs állandó jelenik meg.

Privát megoldás Az ODE-t az általánosból kapjuk meg, ha az integráció állandói bizonyos értékeket kapnak néhány további feltétel meghatározásával, amelyek száma lehetővé teszi az integráció összes bizonytalan állandójának kiszámítását.

Pontos (analitikai) megoldás Egy differenciálegyenlet (általános vagy különös) azt jelenti, hogy megkapjuk a kívánt megoldást (y(x) függvény) kifejezés formájában elemi függvényekből. Ez még az elsőrendű egyenletek esetében sem mindig lehetséges.

Numerikus megoldás A DE (hányados) abból áll, hogy kiszámítjuk az y(x) függvényt és deriváltjait egy adott szakaszon fekvő bizonyos pontokban. Valójában az alak n-edrendű differenciálegyenletének megoldását a következő számtáblázat formájában kapjuk meg (a legmagasabb derivált értékoszlopát úgy számítjuk ki, hogy az értékeket behelyettesítjük a egyenlet):

Például egy elsőrendű differenciálegyenlet esetén a megoldástáblázatnak két oszlopa lesz - x és y.

Az abszcissza értékek halmazát, amelyben egy függvény értékét meghatározzák, hívják háló, amelyen az y(x) függvény definiálva van. Magukat a koordinátákat hívják rács csomópontok. Leggyakrabban a kényelem kedvéért használják őket egységes rácsok, amelyben a szomszédos csomópontok közötti különbség állandó és ún rácstávolság vagy integrációs lépés differenciálegyenlet

vagy , én= 1, …, N

Meghatározására privát megoldás további feltételeket kell beállítani, amelyek lehetővé teszik az integrációs állandók kiszámítását. Sőt, pontosan n ilyen feltételnek kell lennie. Az elsőrendű egyenleteknél - egy, a másodiknál ​​- 2 stb. Attól függően, hogy a differenciálegyenletek megoldása során hogyan határozzák meg őket, háromféle probléma létezik:

· Cauchy probléma (kezdeti probléma): Valami ilyesmit kell találni privát megoldás differenciálegyenlet, amely kielégít bizonyos egy ponton meghatározott kezdeti feltételek:

azaz a független változó egy bizonyos értéke (x 0), valamint a függvény és az összes derivált értéke (n-1) nagyságrendig ezen a ponton adott. Ezt a pontot (x 0) nevezzük elsődleges. Például, ha egy elsőrendű DE-t oldunk meg, akkor a kezdeti feltételeket egy számpárban fejezzük ki (x 0 , y 0)

Ez a fajta probléma megoldáskor fordul elő ÓDA, amelyek például a kémiai reakciók kinetikáját írják le. Ebben az esetben az anyagok koncentrációja a kezdeti időpontban ismert ( t = 0) és meg kell találni az anyagok koncentrációját egy bizonyos idő elteltével ( t) . Példaként említhetjük még a hőátadás vagy a tömegátadás (diffúzió) problémáját, az anyagi pont erők hatására bekövetkező mozgásegyenletét stb.

· Határérték probléma . Ebben az esetben a függvény és (vagy) deriváltjai egynél több ponton ismertek, például az idő kezdeti és végső pillanatában, és meg kell találni a differenciálegyenlet konkrét megoldását. e pontok között. Magukat a további feltételeket ebben az esetben nevezzük regionális (határvonal) feltételeket. A határérték probléma természetesen legalább másodrendű ODE-k esetén megoldható. Az alábbiakban egy másodrendű ODE-ra mutatunk be példát peremfeltételekkel (a függvényértékek két különböző ponton vannak megadva):

· Sturm-Liouville probléma (sajátérték probléma). Az ilyen típusú problémák hasonlóak a határérték-problémákhoz. Megoldásuk során meg kell találni, hogy bármely paraméter milyen értékeinél a megoldás DU teljesíti azokat a peremfeltételeket (sajátértékeket) és függvényeket, amelyek megoldást jelentenek a DE-re minden paraméterértékre (sajátfüggvények). Például a kvantummechanikában sok probléma sajátérték probléma.

Numerikus módszerek az elsőrendű ODE Cauchy-feladatának megoldására

Tekintsünk néhány numerikus megoldási módszert Cauchy problémák(kezdeti feladat) elsőrendű közönséges differenciálegyenletek. Írjuk fel ezt az egyenletet általános formában, a deriváltra nézve feloldva (az egyenlet jobb oldala nem függ az első deriválttól):

(6.2)

Meg kell találni az y függvény értékeit a rács adott pontjain, ha a kezdeti értékek ismertek, ahol az y(x) függvény értéke az x 0 kezdőpontban van.

Alakítsuk át az egyenletet d x-el szorozva

És integráljuk a bal és a jobb oldalt az i-edik és az i+ 1. rácscsomópontok közé.

(6.3)

Kaptunk egy kifejezést az i+1 integrációs csomópont megoldásának elkészítésére az i-edik rácscsomópont x és y értékein keresztül. A nehézség azonban abban rejlik, hogy a jobb oldali integrál egy implicit módon adott függvény integrálja, amelyet általában lehetetlen analitikus formában megtalálni. Numerikus módszerek az ODE-k megoldására különböző módon közelítse (közelítse) ennek az integrálnak az értékét az ODE-k numerikus integrációjának képleteinek összeállításához.

Az elsőrendű ODE-k megoldására kifejlesztett számos módszer közül a , és a módszereket tekintjük. Meglehetősen egyszerűek, és kezdeti ötletet adnak a probléma megoldásának megközelítéseiről egy numerikus megoldás keretében.

Euler módszer

Történelmileg az első és a legtöbb egyszerű módon A Cauchy-probléma numerikus megoldása elsőrendű ODE-re az Euler-módszer. Ez azon alapul, hogy a deriváltot közelítik a függő ( y) és független ( x) változók az egységes rács csomópontjai között:

ahol y i+1 a függvény kívánt értéke az x i+1 pontban.

Ha most ezt az egyenletet átalakítjuk, és figyelembe vesszük az integrációs rács egységességét, akkor egy iteratív képletet kapunk, amellyel kiszámíthatjuk y i+1, ha y i ismert az x i pontban:

Összehasonlítva az Euler-képletet a korábban kapott általános kifejezéssel, egyértelmű, hogy az integrál hozzávetőleges kiszámításához az Euler-módszer a legegyszerűbb integrációs képletet használja - a szegmens bal széle mentén lévő téglalapok képletét.

Az Euler-módszer grafikus értelmezése is egyszerű (lásd az alábbi ábrát). Valójában a (() megoldandó egyenlet alakja alapján az következik, hogy az érték az y(x) függvény deriváltjának értéke az x=x i - pontban, és így egyenlő a az y(x) függvény grafikonjához az x =x i pontban húzott érintőszög.

Az ábrán látható derékszögű háromszögből megtalálhatja

Innen származik az Euler-képlet. Így az Euler-módszer lényege, hogy az y(x) függvényt az integrációs szegmensen az x=x i pontban lévő gráfot érintő egyenesre cseréljük. Ha a kívánt függvény nagymértékben eltér a lineáristól az integrációs szegmensben, akkor a számítási hiba jelentős lesz. Az Euler-módszer hibája egyenesen arányos az integrációs lépéssel:

Hiba~h

A számítási folyamat a következőképpen épül fel. Adott kezdeti feltételekhez x 0És y 0 lehet számolni

Így az y(x) függvényértékek táblázata egy bizonyos lépéssel ( h) által x a szegmensen. Hiba az érték meghatározásakor y(x i) ebben az esetben minél kisebb a választott lépéshossz, annál kisebb lesz h(amit az integrációs képlet pontossága határoz meg).

Nagy h esetén az Euler-módszer nagyon pontatlan. Az integrációs lépés csökkenésével egyre pontosabb közelítést ad. Ha a szegmens túl nagy, akkor minden szakaszt N integrációs szegmensre osztunk, és mindegyikre alkalmazzuk az Euler-képletet egy lépéssel, vagyis a h integrációs lépést kisebbre kell megtenni, mint annak a rácsnak a lépését, amelyen a megoldás eldöntött.

Példa:

Az Euler-módszert használva alkoss közelítő megoldást a következő Cauchy-feladatra:

Olyan rácson, amelynek lépése 0,1 a (6,5) intervallumban

Megoldás:

Ezt az egyenletet már szabványos formában felírtuk, a kívánt függvény deriváltjára nézve feloldva.

Ezért a megoldandó egyenlethez megvan

Vegyük a h = 0,1 rácslépésnek megfelelő integrációs lépést. Ebben az esetben minden rácscsomóponthoz csak egy érték kerül kiszámításra (N=1). Az első négy rácscsomópont esetében a számítások a következők:

A teljes eredményeket (ötödik tizedesjegyig) a harmadik oszlopban adjuk meg - h =0,1 (N =1). Összehasonlításképpen a táblázat második oszlopa az egyenlet analitikai megoldásából számított értékeket mutatja .

A táblázat második része a kapott megoldások relatív hibáját mutatja. Látható, hogy h =0,1-nél a hiba nagyon nagy, eléri a 100%-ot az első csomópontnál x =0,1.

1. táblázat Az egyenlet megoldása Euler-módszerrel (oszlopoknál az integrációs lépés és a rácscsomópontok közötti N integrációs szegmensek száma van feltüntetve)

xPontos
megoldás
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

A számított függvényértékek relatív hibái különböző h-okhoz

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%

Csökkentsük felére az integrációs lépést, h = 0,05, ebben az esetben minden rács csomópontra két lépésben történik a számítás (N = 2). Tehát az első csomópontra x =0,1 kapjuk:

(6.6)

Ez a képlet implicitnek bizonyul y i+1 vonatkozásában (ez az érték a kifejezés bal és jobb oldalán is van), vagyis egy y i+1-re vonatkozó egyenlet, amely megoldható, például numerikusan, valamilyen iteratív módszerrel (ilyen formában az egyszerű iterációs módszer iteratív képletének tekinthető). Megteheti azonban másként és hozzávetőlegesen, körülbelül kiszámítja egy függvény értékét egy csomóponton i+1 a szokásos képlet segítségével:

,

amely azután felhasználható a (6.6) szerinti számításnál.

Ez adja a módszert Guna vagy Euler-módszer újraszámítással. Minden egyes integrációs csomópont esetében a következő számítási lánc kerül végrehajtásra

(6.7)

Egy pontosabb integrációs képletnek köszönhetően a Hün-módszer hibája arányos az integrációs lépés négyzetével.

Hiba~ h 2

A Gün-féle módszerben alkalmazott megközelítést az úgynevezett metódusok megalkotására használják előrejelzés és korrekció, amiről később lesz szó.

Példa:

Végezzünk számításokat a () egyenletre Hün módszerével.

A h =0,1 integrációs lépéssel az első x 1 rácscsomópontnál kapjuk:

Ami sokkal pontosabb, mint az Euler-módszerrel kapott értékek ugyanazzal az integrációs lépéssel. Az alábbi 2. táblázat az Euler- és Gün-módszer h = 0,1-re vonatkozó számításainak összehasonlító eredményeit mutatja be.

2. táblázat Az egyenlet megoldása Euler és Gün módszerekkel

x Pontos Gün módszere Euler módszer
y rel. hiba y rel. hiba
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%

Figyeljük meg a Hün-módszer számítási pontosságának jelentős növekedését az Euler-módszerhez képest. Így x =0,1 csomópont esetén a Huyn-módszerrel meghatározott függvényérték relatív eltérése 30-szor (!) kisebbnek bizonyul. Az Euler-képletet használó számítások ugyanolyan pontossága érhető el, ha az N integrációs szegmensek száma megközelítőleg 30. Következésképpen, ha a Hün-módszert ugyanolyan pontossággal használjuk, körülbelül 15-ször kevesebb számítógépes időbe telik, mint az Euler-módszer használatakor. .

Az oldat stabilitásának ellenőrzése

Egy ODE megoldását egy x i pontban stabilnak nevezzük, ha a függvény értéke ebben a pontban található y i alig változik, ahogy az integrációs lépés csökken. A stabilitás ellenőrzéséhez ezért két értékszámítást kell elvégezni ( y i) – h integrációs lépéssel és csökkentett (például két) lépésmérettel

Stabilitási kritériumként használhatja a kapott megoldás relatív változásának kicsinységét, ha az integrálási lépést csökkentjük (ε egy előre meghatározott kis érték)

Ez az ellenőrzés minden megoldásra elvégezhető a teljes értéktartományban x. Ha a feltétel nem teljesül, akkor a lépést ismét kettéosztjuk és új megoldást találunk stb. amíg stabil oldatot nem kapunk.

Runge-Kutta módszerek

Az elsőrendű ODE megoldásának pontosságának további javítása az integrál közelítő számítási pontosságának növelésével lehetséges a kifejezésben.

Már láttuk annak az előnyét, hogy ennek az integrálnak a közelítésekor a () téglalapformulával történő integrálásról a () trapézformula használatára váltunk.

A jól bevált Simpson-képlet segítségével még pontosabb képletet kaphat a Cauchy-probléma megoldására az elsőrendű ODE-hoz - a számítási gyakorlatban széles körben használt Runge-Kutta módszerhez.

Adams többlépéses ODE-megoldási módszereinek előnye, hogy minden csomóponton az ODE jobb oldalának csak egy értékét számítják ki – az F(x,y) függvényt. A hátrányok közé tartozik, hogy egy többlépéses módszert nem lehet egyetlen kiindulópontból elindítani, mivel a k-lépéses képletet használó számításokhoz k csomóponton kell ismerni a függvény értékét. Ezért az első x 1, x 2, ..., x k-1 csomópontoknál (k-1) megoldást kell kapni valamilyen egylépéses módszerrel, például a módszerrel.