O gastrointestinálních onemocněních

studenti FIRT

Skupina vytvořená

Učitel

Gadilová F.G.

ÚVOD ………………………………………………………………………………………………….. 3

KAPITOLA 1. TEORETICKÁ ČÁST

      PODSTATA METODY RUNGE-KUTTA………………………………………………………………5

1.2. ÚČEL A ROZSAH POUŽITÍ………………………………10

KAPITOLA2. PRAKTICKÁ ČÁST

2.1. PROHLÁŠENÍ PROBLÉMU A VÝVOJ ALGORITHMU PRO ŘEŠENÍ PROBLÉMU………………………………………………………………………………………………………..… …….11

2.2. VÝBĚR SLOŽENÍ TECHNICKÝCH A SOFTWAROVÝCH NÁSTROJŮ………………………………………………………………………………...16

2.4. TESTOVÁNÍ PROGRAMU………………………………………………………………...18

ZÁVĚR ………………………………………………………………………………………… 19

LITERATURA……………………………………………………………………….………… 20

APLIKACE:

PŘÍLOHA č. 1 (VÝPIS PROGRAMU)

Úvod

Účelem práce v kurzu je: napsat program pro nalezení přibližného řešení obyčejné diferenciální rovnice y'=f(x,y),y(a)=y0 metodou pátého řádu Runge-Kutta na segmentu s daným konstantním krokem.

K dosažení tohoto cíle je třeba splnit následující úkoly:

    Zvažte podstatu metody Runge-Kutta.

    Účel a rozsah.

    Otestujte program.

Tento problém se týká numerických metod. Je potřeba najít řešení obyčejné diferenciální rovnice s konstantním krokem h.

K vyřešení problému bude použit programovací jazyk TurboPascal 7.0, protože tento jazyk umožňuje pracovat s matematickými vzorci, provádět různé druhy matematických operací a akcí. Turbo Pascal společnosti Borland je rozšířením jazykového standardu a obsahuje integrované prostředí což urychluje a usnadňuje proces vývoje programu. Programovací jazyk TurboPascal7.0 používá operátor typované adresy, otevřená pole a řetězce, což uživateli poskytuje další možnosti při řešení matematických problémů. V matematických úlohách je často nutné implementovat numerické metody a experimentálně studovat podmínku a rychlost konvergence metod. Problémové prohlášení zpravidla dává hlavní myšlenku každé metody (Euler, Runge-Kutta atd.).

Doporučuje se navrhnout výpočet funkce a její derivace použité v problému ve formě podprogramů, aby bylo možné znázornit jakoukoli funkci bez změny samotného programu. Chyba, počáteční podmínka a parametr algoritmu jsou specifikovány vstupem. Je-li to možné, doporučuje se otestovat algoritmus na příkladech, pro které je známo nebo lze nalézt analyticky přesné řešení.

Kapitola 1.

1.1.Podstata metody Runge-Kutta

Metoda Runge-Kutta zahrnuje několik dalších, jako je Eulerova metoda a Euler-Cauchyho metoda.

Metody Runge-Kutta mají následující vlastnosti:

1. Tyto metody jsou jednokrokové: k nalezení m+1, které potřebujete

informace o předchozím bodě xmym

2 Jsou konzistentní s Taylorovou řadou až do řádu h p kde je mocnina p různá pro různé metody a nazývá se ordinální číslo nebo pořadí metod

3Nevyžadují výpočet derivátů f(xy) ale požadují výpočet samotné funkce

Uvažujme nejprve geometrickou konstrukci a odvodíme některé vzorce na základě geometrických analogiíPoté potvrdíme výsledky získané analyticky(Použitá analytická metoda dává řešení diferenciální rovnice ve formě analytického výrazu; Grafické metoda, která dává přibližné řešení ve formě grafu Numerická metoda, kdy se požadovaná funkce získá ve formě tabulky.)

Předpokládejme, že známe bod xmym na požadované křivce Potom můžeme nakreslit přímku s tečnou úhlu sklonu  m =f(x m y m), která bude procházet bodem x m y m  Tato konstrukce je znázorněno na obr. 1, kde křivka představuje přesné, ale nakonec neznámé řešení rovnice a přímka L1 je sestrojena tak, jak bylo právě popsáno.

Rovnice přímky L 1 vypadá takto: y=y m +y m (x-x m) protože y=f(x m y m) a navícx m+1 =x m +h pak rovnice bude mít formulář

y m+1 =y m +h*f(x m y m) 1.1.

Chyba v x=x m+1 je zobrazena jako segment eJe zřejmé, že přibližná hodnota zjištěná tímto způsobem je konzistentní s rozvojem Taylorovy řady až do řádu htakže chyba omezení je rovna e t = Kh 2

Všimněte si, že ačkoli bod na obr. 1 byl znázorněn na křivce, ve skutečnosti je y m přibližná hodnota a neleží přesně na křivce.

Vzorec 11 popisuje Eulerovu metodu jednu z nejstarších a nejznámějších metod numerické integrace diferenciálních rovnic Všimněte si, že Eulerova metoda je jednou z metod Runge-Kutta prvního řádu

Uvažujme opravenou Eulerovu metodu a upravenou Eulerovu metodu. V opravené Eulerově metodě najdeme průměrnou tečnu úhlu tečny pro dva body: x m y m a x m +hy m +hy m Poslední bod je tentýž, který byl v Eulerově metodě označen x m+1 y m+1  Geometrický proces hledání bodu x m+1 y m+1 lze sledovat na obr. 2. Obr. Eulerovou metodou najdeme bod x m +hy m +hy m letící na přímce L 1 V tomto bodě je opět vypočítána tečna dává přímku LKonečněbodem x m y m nakreslíme přímku Lrovnoběžnou s Lbodemve kterém se přímka L bude protínat s ordinátou obnovenou z x=x m+1 =x m +h a bude požadovaným bodem x m+1 y m+1 

A dvě schémata Runge-Kutta Čtvrtý přibližné pořadí:

Příklad. Vyřešte rovnici d pomocí metody čtvrtého řádu Runge-Kutta y/d X = –y, y(0) = 1.

V souladu s výše uvedenými vztahy určíme koeficienty:

Vytvořme posloupnost hodnot požadované funkce:

Výsledky výsledného numerického řešení pro hodnotu argumentu X= 10 při různých integračních krocích jsou uvedeny v tabulce. 15.2. Pro daný krok byly získány tři správné platné číslice h = 0.25.

Porovnání tabulek 15.1 a 15.2 s řešeními stejného problému nám umožňuje dojít k závěru, že vyšší stupeň přiblížení diferenciální rovnice s rozdílem analog nám umožňuje získat přesnější řešení s větším krokem, a tedy méně kroků, to znamená, že vede k snížení požadovaných zdrojů POČÍTAČ.

Dnes se pro hrubé výpočty provádí výpočty Eulerovou metodou, pro přesné výpočty - metodou Runge-Kutta

16. Přednáška 16.
Metody prognózování a korekce
(iterativní metody)

Metody, které jsme dříve studovali, měly jednu důležitou vlastnost – každá metoda obvykle odpovídá určité třídě přesnosti, kterou jsme označili jako Oi. Například Eulerova metoda měla první třídu přesnosti Ó 1. To znamenalo, že se snížením kroku o 10x (řádově) se přesnost výsledku zvýšila také 10x (o jeden řád). Metoda Runge-Kutta má 4 řády přesnosti - Ó 4, když se krok sníží 10krát, výsledek se zlepší 10 000krát. Vzhledem k tomu, že tato metoda oproti Eulerově metodě využívá pouze 4x více výpočtů, je její použití výhodnější. Dnes jsou známy metody až do 8. řádu přesnosti (například metoda Prince Dortmund), i když je třeba mít na paměti, že psaní algoritmů pro ně je poměrně obtížný úkol. Výhodou všech těchto algoritmů je, že objem jejich výpočtu je znám předem.

Pokud potřebujete dosáhnout ŽÁDNÝ přesnost v kroku, pak by měly být použity metody predikce a korekce. Tento přístup spočívá v tom, že k výpočtu trajektorie určené rovnicí dochází v každém kroku vícekrát. Totiž nejprve se pomocí nějakého jednoduchého vzorce (například Eulerova metoda) vypočítá přibližná hodnota funkce na konci kroku, poté se v tomto bodě vypočítá derivace a výpočet probíhá znovu od výchozího bodu v kroku , ale s upřesněnou hodnotou derivátu. Nastává poslední operace - objasnění derivace a hodnoty funkce na konci kroku OPAKOVANĚ V KAŽDÉM KROKU , to znamená, dokud se vypočítané hodnoty (funkce a derivace na konci kroku) nepřestanou měnit nebo se mírně změní, méně než předem zadaná hodnota ε . Teprve pak můžeme říci, že přesnost ε dosaženo.

Tak, díky iterativnímu postupu v každém jednotlivém kroku můžete dosáhnout jakékoli předem stanovené přesnosti ε . Tato výhoda metody má svou cenu: bohužel nelze předem říci, kolik iterací bude zapotřebí k dosažení zadané přesnosti v jednom kroku. ε . Proto takové metody nelze například použít v systémech reálného času.

Podívejme se jako příklad na dvě metody z této třídy. Stejně jako dříve je úkolem najít funkci y(t) z diferenciální rovnice dy/dt = F(y, X, t) nebo množina funkcí ze systému takových rovnic.

Předpokládejme, že potřebujeme najít řešení diferenciální rovnice

y’ = F(t, y),

splňující výchozí podmínku

y'(t 0) = y 0 .

Princip, na kterém je založena Rungeova–Kutta metoda, lze vysvětlit, stejně jako princip, na kterém je založena Eulerova metoda, pomocí Taylorova rozšíření funkce.

Udržet Taylorův péro v linii n-tého řádu, je nutné počítat n-tá derivace závislé proměnné. Při použití modifikované Eulerovy metody k získání druhé derivace ve formě konečné diference stačilo znát sklon křivky na koncích uvažovaného intervalu. Pro výpočet třetí derivace ve formě konečné diference je nutné mít hodnoty druhé derivace alespoň ve dvou bodech. K tomu je nutné dodatečně určit sklon křivky v některém mezilehlém bodě intervalu h, tedy mezi tn A n 1 t+ . Je zřejmé, že čím vyšší je řád vypočítávané derivace, tím více dalších bodů bude potřeba vypočítat v rámci intervalu. Protože existuje několik způsobů, jak lokalizovat vnitřní body a vybrat relativní váhy pro nalezené derivace, metoda Runge–Kutta v podstatě kombinuje celou rodinu metod pro řešení diferenciálních rovnic.

Nejběžnější je metoda čtvrtého řádu, která obsahuje všechny podmínky Taylorovy řady, včetně h 4. Výpočty pomocí této klasické metody se provádějí podle vzorců:

Eulerova metoda a její modifikace jsou v podstatě Runge-Kuttovy metody prvního a druhého řádu. Vyšší přesnost metody Runge–Kutta umožňuje zvýšit integrační krok h. Přípustná chyba v kroku určuje jeho maximální hodnotu. V balíčcích aplikačního softwaru se výběr kroků často provádí automaticky. K tomu se nejprve provádějí výpočty v krocích h a poté v krocích h/2.

Pro odhadování chyby výpočtů s kroky h/2 můžete vzít přibližný vzorec

kde je vypočítaná hodnota v přírůstcích h/2; y n– vypočítaná hodnota v přírůstcích h. Příklad: y’ = xy.

Při implementaci metod Runge–Kutta na počítači se každý bod započítává dvakrát. Pokud hodnoty získané v tomto případě splňují výraz (5.4), pak pro bod t n+1 krok se zdvojnásobí, jinak se sníží na polovinu. Je však třeba mít na paměti, že výraz (5.4) je přibližný a za nepříznivých podmínek můžete získat zcela chybné výsledky, i když ve většině případů je situace v pořádku.

Metoda Runge-Kutta je jednou z nejčastěji používaných vysoce přesných metod. Eulerovu metodu lze považovat za nejjednodušší verzi metody Runge-Kutta.

Zvažte Cauchyho problém pro diferenciální rovnici

y"(t) = F(t, y(t))

s počáteční podmínkou y(t 0) = y 0.

Stejně jako v Eulerově metodě volíme krok h= a vybudovat mřížku se systémem uzlů t i = t 0 + ih, i= 0, 1, …, n.

Označme podle y i přibližná hodnota požadovaného řešení v bodě t i .

Pojďme dát výpočtové vzorce metody Runge-Kutta čtvrtého řádu přesnosti:

y i+ 1 = y i + h(k+ 2k+ 2k + k),

k = F(t i , y i),

k = F(t i + , y i + k), (6.17)

k= F(t i + , y i + k),

k = F(t i +h, y i + hk),

i= 0, 1, …, n.

Odhad chyby. Školní známka chyby metody Runge-Kutta jsou obtížné. Hrubý odhad chyby je dán Rungeovým pravidlem (viz část 6.2). Jelikož metoda Runge-Kutta má čtvrtý řád přesnosti, tzn. p= 4, pak bude mít tvar odhad chyby (6.6).

R |y-y|. (6.18)

Pomocí Rungeova pravidla je možné sestrojit postup pro přibližný výpočet řešení Cauchyho úlohy metodou Runge-Kutta přesnosti čtvrtého řádu s danou přesností. . Výpočty je nutné začít od určité hodnoty kroku h, postupně snižujte tuto hodnotu na polovinu a pokaždé vypočítáte přibližnou hodnotu y, i= 0, 1, …, n. Výpočty se zastaví, když je splněna podmínka:

R |y-y| < . (6.19)

Přibližným řešením by byly hodnoty y, i= 0, 1, …, n.

Příklad 6.4.

Pomocí Runge-Kuttovy metody přesnosti čtvrtého řádu najdeme řešení na segmentu následujícího Cauchyho problému.

y"(t) = 2ty, y(0) = 1. (6.20)

Udělejme krok h = 0,1. Pak n= = 10.

V souladu s (6.17) budou mít kalkulační vzorce tvar:

y i+ 1 = y i + h(k+ 2k+ 2k + k),

k = 2t i y i ,

k = 2(t i +)(y i + k), (6.21)

k= 2(t i +)(y i + k),

k = 2(t i +h)(y i + hk),

i= 0, 1, …, 10.

Problém (6.20) má přesné řešení: y(t) = E, proto je chyba definována jako absolutní hodnota rozdílu mezi přesnými a přibližnými hodnotami i = |y(t i) - y i |.

Přibližné hodnoty řešení nalezené pomocí vzorců (6.21) y i a jejich chyby i jsou uvedeny v tabulce 6.5:

Tabulka 6.5

t i

y i

t i

y i

Cíle k zápočtu z předmětu „Výpočetní metody“

Poznámka. Každý žák si nejprve musí určit parametr své testové úlohy, s= log 10 (1 +), kde k- číslo studenta v seznamu skupin, k= 1, 2, ... Řešení úloh musí být připraveno pečlivě a obsahovat všechny mezivýpočty. Jako příklad si můžete vzít příklady popsané v příslušných částech pokynů.

1. Pomocí metody dělení úsečky na polovinu najděte kořen rovnice

4(1 - X 2) - E X = s s přesností = 10 -3 .

2. Seidelovou metodou vyřešte soustavu rovnic s přesností =10-3.

6.2+s 2.2+s 1.2+s 16.55+s

A = 2.2+s 5.5+s -1.5+s , b = 10.55+s.

1.2+s -1.5+s 7.2 +s 16.80+s

3. Najděte aproximaci funkce F(X) = E sx na segmentu pomocí Taylorova polynomu s přesností = 10-3. Vypočítat E s .

4. Přibližně vypočítejte integrál at n= 4 a odhadněte chybu výsledku.

5. Pomocí Eulerovy metody najděte numerické řešení Cauchyho úlohy

y" = 2sy; y(0) = 1, na segmentu s krokem h = 0.2.

Porovnejte s přesným řešením.

Řešení mnoha technických, chemických a biologických problémů vyžaduje vyřešení Cauchyho problému. Tento problém lze řešit různými způsoby, analytickými i numerickými, pomocí počítače. Často je důležité dosáhnout výsledků v krátkém čase. V tomto případě se dává přednost numerickým metodám. Navíc existují tak složité diferenciální rovnice, že buď není vůbec možné najít analytické řešení, nebo to vyžaduje velmi velké investice času a úsilí.

Práce podrobně zkoumá metodu Runge-Kutta čtvrtého řádu s automatickou volbou délky integračního kroku (ta zajišťuje mnohem vyšší přesnost výpočtu oproti metodě využívající konstantní délku kroku), poskytuje potřebné teoretické shrnutí, popis metody, podrobně rozebírá metodu Runge-Kutta čtvrtého řádu s automatickým výběrem délky integračního kroku (tato zajišťuje mnohem vyšší přesnost výpočtu ve srovnání s metodou využívající konstantní délku kroku). stejně jako počítačový program, výsledky jeho implementace a ilustrace.

Klíčová slova: diferenciální rovnice, Runge-Kutta metoda, Eulerova metoda, řád Runge-Kuttovy metody, Cauchyho problém, Taylorova řada, segment, koeficienty, integrační krok, integrální křivka.

Práce obsahuje 36 listů včetně 8 grafů, 4 vyobrazení a 12 tabulek.

Úvod

1. Teoretická část

1.1 Prohlášení o problému

1.2 Eulerova metoda

1.3 Obecná formulace metod Runge-Kutta

1.4 Diskuse o metodách řádu 4

1.5 „Optimální“ vzorce

1.6 Podmínky objednávky pro metody Runge-Kutta

1.7 Odhad chyb a konvergence metod Runge-Kutta

1.7.1 Přesné odhady nejistoty

1.7.2 Hlavní chybový termín

1.7.3 Odhad globální nejistoty

1.8 Volba optimální výšky tónu

2. Praktická část

2.1 Popis programu „Ilya RK-4 verze 1.43“

Závěr

Seznam použitých zdrojů

Příloha A. Funkční grafy

Příloha B. Příklad tabulky hodnot funkcí y(x)

Příloha B. Seznam programu “Ilya RK-4 verze 1.43”

Úvod

Vzhledem k tomu, že metody Runge-Kutta nepotřebují počítat další počáteční hodnoty, zaujímají tyto metody mezi klasickými metodami zvláštní místo. Níže budeme diskutovat o jejich vlastnostech a také o některých omezeních, která jsou těmto metodám vlastní.

S nárůstem počtu fází u velkých problémů řešených těmito metodami by navíc vznikaly potíže s pamětí počítače (a to je důležitější), u velkých problémů jsou Lipschitzovy konstanty zpravidla vždy velké. Obecně to činí metody Runge-Kutta vyššího řádu pro takové problémy nevhodné. V každém případě jsou jiné metody obvykle účinnější a měly by být preferovány. Metody Runge-Kutta čtvrtého řádu se však na počítači poměrně snadno implementují a přítomnost automatického výběru kroků umožňuje provádět výpočty s dobrou přesností. Proto je vhodné je používat pro poměrně širokou škálu úkolů.

Metody Runge-Kutta mají několik významných výhod, které určují jejich popularitu u značného počtu výzkumníků. Tyto metody jsou snadno programovatelné a mají dostatečné vlastnosti přesnosti a stability pro širokou škálu úloh. Tyto metody, stejně jako všechny jednokrokové metody, jsou samospouštěcí a umožňují snadno změnit integrační krok v jakékoli fázi výpočtu.

Práce se zaměřuje na otázky přesnosti a účinnosti při řešení problémů typu, pro který jsou přijatelné metody Runge-Kutta.

Softwarová implementace metod Runge-Kutta čtvrtého řádu s automatickým výběrem kroků je prezentována ve formě programu napsaného v jazyce vyšší úrovně. Borland C ++ 3.1 . Program lze spustit v prostředí SLEČNA - DOS nebo Okna ® 95/98/ /2 k / XP. Jako výstup program zapíše tabulku hodnot do souboru na disku a vykreslí graf na obrazovku počítače.

Pro kontrolu výsledků vytvořeného programu byly stejné diferenciální rovnice řešeny v matematickém balíčku Waterloo Javor 9.01 a pomocí vytvořené aplikace (verze 1.43) byly analyzovány tabulky hodnot a grafy řešení.

1. Teoretická část

1.1 Prohlášení o problému

Diferenciální rovnice a počáteční podmínka jsou dány, to znamená, že je položen Cauchyho problém:

(2.1.1)

Je potřeba najít integrální křivku, která vyhovuje uvedenému Cauchyho problému pomocí metody čtvrtého řádu Runge-Kutta s automatickou volbou kroku na segmentu.

. Problém lze řešit analyticky nalezením řešení diferenciální rovnice a dosazením počáteční podmínky do ní, čímž se najde požadovaná integrální křivka. Pro nás je ale zájem řešit tento problém pomocí numerické metody a konkrétněji metody 4. řádu Runge-Kutta s automatickým výběrem kroku, tedy numerickým řešením. Automatický výběr kroku je nezbytnou podmínkou pro adekvátní chování programu s ostře se měnícími funkcemi, které definují integrální křivku, což umožňuje zohlednit všechny momenty v chování integrální křivky a dosáhnout vysoké přesnosti.

1.2 Eulerova metoda

Eulerovu metodu řešení úlohy počáteční hodnoty (2.1.1) popsal Euler v roce 1768. Tato metoda je poměrně jednoduchá. Jeho globální chyba má tvar

, kde je konstanta v závislosti na úloze a je maximální délka kroku. Pokud je požadováno, řekněme, získat 6 přesných desetinných míst, pak to vyžaduje asi milion kroků, což není příliš uspokojivé. Na druhou stranu, od dob Newtona je známo, že mnohem přesnější metody lze nalézt, pokud to nezávisí na , tedy pokud máme problém (2.1.1) řešitelný kvadraturou . (2.2.1)

Jako příklad uvažujme první Gaussův kvadraturní vzorec, nazývaný také „pravidlo středu“:

(2.2.2) a – hraniční body podintervalů, na které je integrační interval rozdělen. Je známo, že odhad globální chyby tohoto vzorce má tvar . Pokud je tedy požadovaná přesnost 6 desetinných míst, lze ji obvykle dosáhnout v přibližně 1000 krocích, což činí tuto metodu tisíckrát rychlejší. Runge proto položil následující otázku: je možné rozšířit tuto metodu na původní Cauchyho problém? První délkový krok by měl vypadat . (2.2.3)

Ale jakou hodnotu bychom měli brát

? Pro nedostatek něčeho lepšího je přirozené použít jeden malý krok Eulerovy metody délky. Pak z předchozího vzorce dostaneme: (2.2.4)

Rozhodujícím faktorem je zde násobení

ve třetím výrazu pomocí , v důsledku čehož se vliv chyby stává méně významným. Přesněji, vypočítáme Taylorův rozvoj v mocninách: (2.2.5)

Pro přesné řešení lze porovnat s Taylorovou řadou, která se získá ze skutečnosti, že



Pokud si všimnete chyby, vyberte část textu a stiskněte Ctrl+Enter
PODÍL: