O gastrointestinalnim bolestima

Studenti FIRT-a

Grupiraj po

Učitelj, nastavnik, profesor

Gadilova F.G.

UVOD……………………………………………………………………………………………..…3

POGLAVLJE 1. TEORIJSKI DIO

      SUŠTINA RUNGE-KUTTA METODE………………………………………………………5

1.2. SVRHA I PODRUČJE PRIMJENE……………………………10

POGLAVLJE2. PRAKTIČNI DIO

2.1. IZJAVA PROBLEMA I RAZVOJ ALGORITMA ZA RJEŠAVANJE PROBLEMA……………………………………………………………………………………………… …….11

2.2. ODABIR SASTAVA TEHNIČKIH I SOFTVERSKIH ALATA…………………………………………………………………………...16

2.4. TESTIRANJE PROGRAMA…………………………………………………………...18

ZAKLJUČAK………………………………………………………………...………19

LITERATURA………………………………………………………………………………20

PRIMJENE:

PRILOG br. 1 (POPIS PROGRAMA)

Uvod

Svrha kolegija je: napisati program za pronalaženje približnog rješenja obične diferencijalne jednadžbe y'=f(x,y),y(a)=y0 Runge-Kutta metodom petog reda na segmentu. sa zadanim konstantnim korakom.

Da bi se postigao ovaj cilj, moraju se izvršiti sljedeći zadaci:

    Razmotrite suštinu metode Runge-Kutta.

    Svrha i opseg.

    Testirajte program.

Ovaj problem se odnosi na numeričke metode. Potrebno je pronaći rješenje obične diferencijalne jednadžbe s konstantnim korakom h.

Za rješavanje problema koristit će se programski jezik TurboPascal 7.0, budući da ovaj jezik omogućuje rad s matematičkim formulama, izvođenje raznih vrsta matematičkih operacija i radnji. Borlandov Turbo Pascal je proširenje jezičnog standarda i sadrži integrirano okruženje koji ubrzava i olakšava proces razvoja programa. Programski jezik TurboPascal7.0 koristi operator upisane adrese, otvorene nizove i nizove, što korisniku pruža dodatne mogućnosti pri rješavanju matematičkih problema. U matematičkim problemima često je potrebno primijeniti numeričke metode i eksperimentalno proučavati stanje i brzinu konvergencije metoda. Izjava problema, u pravilu, daje glavnu ideju svake metode (Euler, Runge-Kutta, itd.).

Preporuča se oblikovati izračun funkcije i njezine derivacije koja se koristi u problemu u obliku potprograma, tako da se bilo koja funkcija može prikazati bez mijenjanja samog programa. Pogreška, početni uvjet i parametar algoritma navedeni su ulazom. Gdje je to moguće, preporuča se testirati algoritam na primjerima za koje je poznato ili se može pronaći analitički točno rješenje.

Poglavlje 1.

1.1.Suština metode Runge-Kutta

Runge-Kutta metoda uključuje nekoliko drugih kao što su Eulerova metoda i Euler–Cauchyjeva metoda.

Runge-Kutta metode imaju sljedeća svojstva:

1. Ove metode su u jednom koraku: da biste pronašli m+1 trebate

informacija o prethodnoj točki xmym

2 Oni su u skladu s Taylorovim nizom do članova reda h p gdje je snaga p različita za različite metode i naziva se redni broj ili red metode

3Ne zahtijevaju izračun derivata f(xy) ali zahtijevaju proračun same funkcije

Razmotrimo najprije geometrijsku konstrukciju i izvedimo neke formule na temelju geometrijskih analogijaNakon toga ćemo analitički potvrditi dobivene rezultate(Analitička metoda koja se koristi daje rješenje diferencijalne jednadžbe u obliku analitičkog izraza; Grafički metoda, koja daje približno rješenje u obliku grafikona; Numerička metoda, kada se tražena funkcija dobije u obliku tablice.)

Pretpostavimo da znamo točku xmym na željenoj krivulji Tada možemo povući ravnu liniju s tangentom kuta nagiba  m =f(x m y m) koja će prolaziti kroz točku x m y m  Ova konstrukcija prikazana je na slici 1 gdje krivulja predstavlja točno, ali konačno nepoznato rješenje jednadžbe, a ravna linija L1 je konstruirana kao što je upravo opisano

Jednadžba ravne linije L 1 izgleda ovako: y=y m +y m (x-x m) budući da je y=f(x m y m) i dodatnox m+1 =x m +h tada će jednadžba imati oblik

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

Pogreška pri x=x m+1 prikazana je kao segment eOčito je da je približna vrijednost pronađena na ovaj način u skladu s proširenjem Taylorovog niza do članova reda hpa je pogreška ograničenja jednaka e t = Kh 2

Imajte na umu da iako je točka na slici 1 prikazana na krivulji, u stvarnosti je y m približna vrijednost i ne leži točno na krivulji.

Formula 11 opisuje Eulerovu metodu jednu od najstarijih i najpoznatijih metoda za numeričku integraciju diferencijalnih jednadžbi Imajte na umu da je Eulerova metoda jedna od Runge-Kutta metoda prvog reda

Razmotrimo ispravljenu Eulerovu metodu i modificiranu Eulerovu metodu. U ispravljenoj Eulerovoj metodi nalazimo prosječni tangens tangentnog kuta za dvije točke: x m y m i x m +hy m +hy m Posljednja točka je ista ona koja je u Eulerovoj metodi označena x m+1 y m+1  Geometrijski proces nalaženja točke x m+1 y m+1 može se pratiti na sl. 2. Koristeći Eulerovu metodu, nalazimo točku x m +hy m +hy m koja leži na ravnoj liniji L 1 U ovoj točki se ponovno izračunava tangentadaje ravnu liniju LKonačnokroz točku x m y m nacrtamo ravnu liniju Lparalelnu s LTočkomu kojoj će se ravna linija L sijeći s ordinatom vraćenom iz x=x m+1 =x m +h i bit će željena točka x m+1 y m+1 

I dvije Runge-Kutta sheme koje imaju Četvrta aproksimacijski redoslijed:

Primjer. Riješite jednadžbu d koristeći Runge-Kutta metodu četvrtog reda g/d x = –g, g(0) = 1.

U skladu s navedenim odnosima određujemo koeficijente:

Konstruirajmo niz vrijednosti tražene funkcije:

Rezultati dobivenog numeričkog rješenja za vrijednost argumenta x= 10 pri različitim koracima integracije dani su u tablici. 15.2. Tri točne značajne brojke dobivene za korak h = 0.25.

Usporedba tablica 15.1 i 15.2 s rješenjima istog problema omogućuje nam da zaključimo da viši stupanj aproksimacije diferencijalna jednadžba s diferencijskim analogom omogućuje nam dobivanje točnije rješenje s većim korakom i, prema tome, s manje koraka, odnosno vodi do smanjenje potrebnih sredstava RAČUNALO.

Danas se za grube izračune izračunava Eulerova metoda, za točne izračune - Runge-Kutta metoda

16. Predavanje 16.
Metode predviđanja i korekcije
(iterativne metode)

Metode koje smo ranije proučavali imale su jednu važnu značajku - svaka metoda obično odgovara određenoj klasi točnosti, koju smo označili kao O i. Na primjer, Eulerova metoda imala je prvu klasu točnosti O 1 . To je značilo da se sa smanjenjem koraka za 10 puta (za red veličine), točnost rezultata također povećava za 10 puta (za jedan red veličine). Metoda Runge-Kutta ima 4 reda točnosti - O 4, kada se korak smanji za 10 puta, rezultat se poboljšava za 10.000 puta. Budući da ova metoda, u usporedbi s Eulerovom metodom, koristi samo 4 puta više izračuna, njezina je uporaba isplativija. Danas su poznate metode do 8. reda točnosti (na primjer, metoda Prince Dortmund), iako je istodobno vrijedno imati na umu da je pisanje algoritama za njih prilično težak zadatak. Prednost svih ovih algoritama je da je količina izračuna za njih unaprijed poznata.

Ako trebate postići BILO KOJI točnost u koraku, tada se trebaju koristiti metode predviđanja i korekcije. Ovaj pristup sastoji se u činjenici da se izračunavanje putanje određene jednadžbom događa više puta u svakom koraku. Naime, prvo se nekom jednostavnom formulom (npr. Eulerovom metodom) izračunava približna vrijednost funkcije na kraju koraka, zatim se na tom mjestu izračuna derivacija, a izračun ponovno dolazi od početne točke na koraku. , ali s pročišćenom vrijednošću izvedenice. Dolazi do posljednje operacije - pojašnjenja derivacije i vrijednosti funkcije na kraju koraka PONAVLJENO NA SVAKOM KORAKU , odnosno dok se izračunate vrijednosti (funkcija i izvod na kraju koraka) ne prestanu mijenjati ili se ne promijene malo, manje od unaprijed navedene vrijednosti ε . Tek tada možemo reći da je točnost ε postignuto.

Tako, zbog iterativnog postupka u svakom pojedinom koraku možete postići bilo koju unaprijed određenu točnost ε . Ova prednost metode ima svoju cijenu: nažalost, nemoguće je unaprijed reći koliko će iteracija biti potrebno za postizanje navedene točnosti u koraku ε . Stoga se takve metode ne mogu, primjerice, koristiti u sustavima stvarnog vremena.

Pogledajmo dvije metode iz ove klase kao primjer. Kao i prije, zadatak je pronaći funkciju g(t) iz diferencijalne jednadžbe dy/dt = f(g, x, t) ili skup funkcija iz sustava takvih jednadžbi.

Pretpostavimo da trebamo pronaći rješenje diferencijalne jednadžbe

g’ = f(t, g),

zadovoljavajući početni uvjet

da(t 0) = g 0 .

Načelo na kojem se temelji Runge–Kutta metoda može se objasniti, kao i načelo na kojem se temelji Eulerova metoda, korištenjem proširenja funkcije u Taylorov red

Da držim Taylorin kurac u redu n-tog reda, potrebno je izračunati n-ti izvod zavisne varijable. Pri korištenju modificirane Eulerove metode, za dobivanje druge derivacije u obliku konačnih razlika, bilo je dovoljno znati nagib krivulje na krajevima promatranog intervala. Za izračun treće derivacije u obliku konačnih razlika potrebno je imati vrijednosti druge derivacije u najmanje dvije točke. Za to je potrebno dodatno odrediti nagib krivulje u nekoj međutočki intervala h, tj. između tn I n 1 t+ . Očito, što je veći red izvedenice koja se izračunava, to će više dodatnih bodova trebati izračunati unutar intervala. Budući da postoji nekoliko načina za lociranje unutarnjih točaka i odabir relativnih težina za pronađene derivacije, Runge–Kutta metoda, u biti, kombinira cijelu obitelj metoda za rješavanje diferencijalnih jednadžbi.

Najčešći je metoda četvrtog reda, koji sadrži sve uvjete Taylor serije, uključujući h 4 . Izračuni ovom klasičnom metodom izrađuju se prema formulama:

Eulerova metoda i njezina modifikacija su u biti Runge-Kutta metode prvog i drugog reda. Veća točnost metode Runge-Kutta omogućuje povećanje koraka integracije h. Dopuštena pogreška na koraku određuje njegovu najveću vrijednost. U aplikacijskim programskim paketima odabir koraka često se vrši automatski. Da biste to učinili, izračuni se prvo provode u koracima h, a zatim - u koracima h/2.

Za procjenu pogreške izračuna s koracima h/2 možemo uzeti približnu formulu

gdje je izračunata vrijednost u inkrementima h/2; y n– izračunata vrijednost u inkrementima h. Primjer: g’ = xy.

Prilikom implementacije Runge-Kutta metode na računalu, dvostruko se broji za svaku točku. Ako vrijednosti dobivene u ovom slučaju zadovoljavaju izraz (5.4), tada za točku t n+1 korak se udvostručuje, inače se prepolovljuje. Međutim, treba imati na umu da je izraz (5.4) približan i pod nepovoljnim uvjetima možete dobiti potpuno pogrešne rezultate, iako je u većini slučajeva situacija u redu.

Runge-Kutta metoda je jedna od najčešće korištenih metoda visoke preciznosti. Eulerovu metodu možemo smatrati najjednostavnijom verzijom Runge-Kutta metode.

Razmotrimo Cauchyjev problem za diferencijalnu jednadžbu

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

s početnim stanjem g(t 0) = g 0.

Kao i u Eulerovoj metodi, odabiremo korak h= i izgraditi mrežu sa sustavom čvorova t ja = t 0 + ih, ja= 0, 1, …, n.

Označimo sa g ja približna vrijednost željenog rješenja u točki t ja .

Dajmo formule za izračun metode Runge-Kutta četvrtog reda točnosti:

g ja+ 1 = g ja + h(k+ 2k+ 2k + k),

k = f(t ja , g ja),

k = f(t ja + , g ja + k), (6.17)

k= f(t ja + , g ja + k),

k = f(t ja +h, y ja + hk),

ja= 0, 1, …, n.

Procjena pogreške. Razred pogreške Runge-Kutta metode su teške. Gruba procjena pogreške dana je Rungeovim pravilom (vidi odjeljak 6.2). Budući da metoda Runge-Kutta ima četvrti red točnosti, tj. str= 4, tada će procjena pogreške (6.6) imati oblik

R |y-y|. (6.18)

Koristeći Rungeovo pravilo, moguće je sa zadanom točnošću konstruirati postupak za aproksimativni izračun rješenja Cauchyjevog problema Runge-Kutta metodom četvrtog reda točnosti. . Potrebno je započeti izračune od određene vrijednosti koraka h, uzastopno smanjite ovu vrijednost za pola, svaki put izračunavajući približnu vrijednost g, ja= 0, 1, …, n. Izračuni se zaustavljaju kada se ispuni uvjet:

R |y-y| < . (6.19)

Približno rješenje bile bi vrijednosti g, ja= 0, 1, …, n.

Primjer 6.4.

Runge-Kutta metodom četvrtog reda točnosti pronaći ćemo rješenje na segmentu sljedećeg Cauchyjevog problema.

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

Napravimo korak h = 0,1. Zatim n= = 10.

U skladu s (6.17), formule za izračun će imati oblik:

g ja+ 1 = g ja + h(k+ 2k+ 2k + k),

k = 2t ja g ja ,

k = 2(t ja +)(g ja + k), (6.21)

k= 2(t ja +)(g ja + k),

k = 2(t ja +h)(g ja + hk),

ja= 0, 1, …, 10.

Zadatak (6.20) ima točno rješenje: g(t) = e, stoga je pogreška definirana kao apsolutna vrijednost razlike između točne i približne vrijednosti ja = |g(t ja) - g ja |.

Približne vrijednosti rješenja pronađene pomoću formula (6.21) g ja i njihove greške ja prikazani su u tablici 6.5:

Tablica 6.5

t ja

g ja

t ja

g ja

Ciljevi za bodovanje u kolegiju “Računarske metode”

Bilješka. Svaki student prvo mora odrediti parametar svog ispitnog zadatka, s= log 10 (1 +), gdje je k- broj studenta na popisu grupe, k= 1, 2, ... Rješenje zadataka mora biti pažljivo pripremljeno i sadržavati sve međuizračune. Kao uzorak možete uzeti primjere o kojima se govori u relevantnim odjeljcima smjernica.

1. Koristeći metodu dijeljenja segmenta na pola, pronađite korijen jednadžbe

4(1 - x 2) - e x = s s preciznošću = 10 -3 .

2. Seidelovom metodom riješiti sustav jednadžbi s točnošću =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. Naći aproksimaciju funkcije f(x) = e sx na segmentu Taylorovim polinomom s točnošću = 10 -3. Izračunati e s .

4. Približno izračunajte integral pri n= 4 i procijenite pogrešku rezultata.

5. Pomoću Eulerove metode pronaći numeričko rješenje Cauchyjevog problema

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

Usporedite s točnim rješenjem.

Rješenje mnogih tehničkih, kemijskih i bioloških problema zahtijeva rješavanje Cauchyjevog problema. Ovaj se problem može riješiti na različite načine, analitički i numerički, pomoću računala. Vrlo često je važno postići rezultate u kratkom vremenu. U ovom slučaju prednost se daje numeričkim metodama. Osim toga, postoje tako složene diferencijalne jednadžbe da ili uopće nije moguće pronaći analitičko rješenje ili to zahtijeva vrlo veliko ulaganje vremena i truda.

U radu je detaljno obrađena Runge-Kutta metoda četvrtog reda s automatskim odabirom duljine integracijskog koraka (što osigurava mnogo veću točnost izračuna u odnosu na metodu koja koristi konstantnu duljinu koraka), daje potreban teorijski sažetak, opis metode, kao i računalni program, rezultati njegove izvedbe i ilustracija.

Ključne riječi: diferencijalna jednadžba, Runge-Kutta metoda, Eulerova metoda, red Runge-Kutta metode, Cauchyjev problem, Taylorov red, segment, koeficijenti, korak integracije, integralna krivulja.

Rad sadrži 36 listova, uključujući 8 grafikona, 4 ilustracije i 12 tablica.

Uvod

1. Teorijski dio

1.1 Izjava problema

1.2 Eulerova metoda

1.3 Opća formulacija Runge-Kutta metoda

1.4 Rasprava o metodama reda 4

1.5 "Optimalne" formule

1.6 Uvjeti narudžbe za Runge-Kutta metode

1.7 Procjena pogreške i konvergencija Runge-Kutta metoda

1.7.1 Stroge procjene nesigurnosti

1.7.2 Glavni izraz pogreške

1.7.3 Procjena globalne nesigurnosti

1.8 Odabir optimalnog koraka

2. Praktični dio

2.1 Opis programa "Ilya RK-4 verzija 1.43"

Zaključak

Popis korištenih izvora

Dodatak A. Funkcijski grafikoni

Dodatak B. Primjer tablice vrijednosti funkcije y(x)

Dodatak B. Popis programa “Ilya RK-4 verzija 1.43”

Uvod

S obzirom na to da metode Runge-Kutta ne trebaju izračunavati dodatne početne vrijednosti, ove metode zauzimaju posebno mjesto među klasičnim metodama. U nastavku ćemo raspravljati o njihovim svojstvima, kao io nekim ograničenjima koja su svojstvena ovim metodama.

S povećanjem broja stupnjeva za velike probleme koji se rješavaju ovim metodama, pojavile bi se poteškoće s memorijom računala; osim toga (što je još važnije), za velike probleme, Lipschitz konstante su u pravilu uvijek velike. Općenito, to čini Runge-Kutta metode visokog reda neprikladnima za takve probleme. U svakom slučaju, druge metode su obično učinkovitije i treba im dati prednost. Međutim, Runge-Kutta metode četvrtog reda prilično je lako implementirati na računalu, a prisutnost automatskog odabira koraka omogućuje izvođenje izračuna s dobrom točnošću. Stoga je preporučljivo koristiti ih za prilično širok raspon zadataka.

Runge-Kutta metode imaju nekoliko značajnih prednosti koje su odredile njihovu popularnost među značajnim brojem istraživača. Ove metode je lako programirati i imaju dovoljnu točnost i svojstva stabilnosti za širok raspon zadataka. Ove metode, kao i sve metode u jednom koraku, pokreću se same od sebe i omogućuju vam jednostavnu promjenu koraka integracije u bilo kojoj fazi izračuna.

Rad se fokusira na pitanja točnosti i učinkovitosti u rješavanju problema tipa za koji su Runge-Kutta metode prihvatljive.

Programska implementacija Runge-Kutta metoda četvrtog reda s automatskim odabirom koraka prikazana je u obliku programa napisanog na jeziku visoke razine Borland C ++ 3.1 . Program se može izvoditi u okruženju MS - DOS ili Windows ® 95/98/ Mi /2 k / XP. Kao izlaz, program zapisuje tablicu vrijednosti u datoteku na disku i crta grafikon na zaslonu računala.

Za provjeru rezultata izrađenog programa, iste diferencijalne jednadžbe rješavane su u matematičkom paketu Waterloo Javor 9.01 a pomoću izrađene aplikacije (verzija 1.43) analizirane su tablice vrijednosti i grafikoni rješenja.

1. Teorijski dio

1.1 Izjava problema

Zadana je diferencijalna jednadžba i početni uvjet, odnosno postavljen je Cauchyjev problem:

(2.1.1)

Potrebno je pronaći integralnu krivulju koja zadovoljava navedeni Cauchyjev problem koristeći Runge-Kutta metodu četvrtog reda s automatskim odabirom koraka na segmentu

. Problem se može riješiti analitički pronalaženjem rješenja diferencijalne jednadžbe i zamjenom početnog uvjeta u nju, čime se pronalazi tražena integralna krivulja. Ali za nas je interes rješavanje ovog problema numeričkom metodom, točnije Runge-Kutta metodom 4. reda s automatskim odabirom koraka, odnosno numeričkim rješenjem. Automatski odabir koraka nužan je uvjet za odgovarajuće ponašanje programa s oštro promjenjivim funkcijama koje definiraju integralnu krivulju, što vam omogućuje da odražavate sve trenutke u ponašanju integralne krivulje i postignete visoku točnost.

1.2 Eulerova metoda

Eulerovu metodu za rješavanje problema početne vrijednosti (2.1.1) opisao je Euler 1768. godine. Ova metoda je prilično jednostavna. Njegova globalna greška ima oblik

, gdje je konstanta ovisno o zadatku, a maksimalna duljina koraka. Ako se želi, recimo, dobiti 6 točnih decimala, onda je potrebno oko milijun koraka, što nije baš zadovoljavajuće. S druge strane, još od vremena Newtona poznato je da se mogu pronaći mnogo točnije metode ako ne ovisi o , odnosno ako imamo problem (2.1.1) rješiv kvadraturo . (2.2.1)

Kao primjer, razmotrite Gaussovu prvu kvadraturnu formulu, koja se također naziva "pravilo sredine":

(2.2.2) i – granične točke podintervala na koje je integracijski interval podijeljen. Poznato je da procjena globalne pogreške ove formule ima oblik . Dakle, ako je željena preciznost 6 decimalnih mjesta, obično se može postići u oko 1000 koraka, što ovu metodu čini tisuću puta bržom. Stoga je Runge postavio sljedeće pitanje: je li moguće ovu metodu proširiti na izvorni Cauchyjev problem? Prvi korak duljine trebao bi izgledati ovako . (2.2.3)

Ali kakvu vrijednost trebamo uzeti

? U nedostatku boljeg, prirodno je koristiti jedan mali korak Eulerove metode duljine. Tada iz prethodne formule dobivamo: (2.2.4)

Ovdje je odlučujući faktor množenje

u trećem izrazu za , zbog čega utjecaj pogreške postaje manje značajan. Preciznije, izračunavamo Taylorovu ekspanziju potencijama: (2.2.5)

Može se usporediti s Taylorovim nizom za točno rješenje, koje se dobiva iz činjenice da



Ako primijetite pogrešku, odaberite dio teksta i pritisnite Ctrl+Enter
UDIO: