Dom

Rješavanje diferencijalne jednadžbe metodom Runge Kutta. Runge-kutta metode. Dodatak A. Funkcijski grafikoni

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 istinite značajne brojke primljen 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 prethodno proučavali imale su jedan važna značajka- 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. Zadnja operacija- dolazi do pojašnjenja derivacije i vrijednosti funkcije na kraju koraka PONAVLJANJE 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.

Rješenje mnogih tehničkih, kemijskih i bioloških problema zahtijeva rješavanje Cauchyjevog problema. Ovaj problem se može riješiti različiti putevi, analitički i numerički, pomoću računala. Č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 se detaljno ispituje Runge-Kutta metoda četvrtog reda s automatskim odabirom duljine koraka integracije (ovo daje mnogo više visoka točnost izračuni u usporedbi s metodom pomoću koraka konstantne duljine), daju se potrebni teorijski sažetak, opis metode, kao i računalni program, rezultati njegove provedbe i ilustracije.

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 član pogreške

1.7.3 Procjena globalne nesigurnosti

1.8 Optimalan izbor korak

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

Zbog činjenice da za Runge-Kutta metode nema potrebe za izračunavanjem dodatnih početnih 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 tim 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. U opći slučaj to rade Runge-Kutta metode visokog reda nije pogodan za takve zadatke. 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 određuju 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 visoka razina 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 uvjet 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 zna se da se može pronaći mnogo više precizne metode, ako ne ovisi o , tj. ako imamo problem (2.1.1) riješen kvadraturom . (2.2.1)

Kao primjer, razmotrite prvi kvadraturna formula Gaussov, također nazvan "pravilo središnje točke":

(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 stavio sljedeće pitanje: Je li moguće proširiti ovu metodu 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

Metode Runge-Kutty je skupina metoda koje se široko koriste u praksi za rješavanje ODE. U ovim metodama, kada se računa vrijednost željene funkcije u sljedećoj točki x i+1, koristi se informacija o prethodnoj točki x i, y i. Metode se razlikuju u količini izračuna i točnosti rezultata.

Red Runge-Kutta metode određuje se višestrukošću izračuna vrijednosti derivacije željene funkcije f(x,y ) na svakom koraku. Prema tome Eulerova metoda je Runge-Kutta metoda prvog reda, budući da se za dobivanje sljedeće vrijednosti y i +1 funkcija f(x) izračunava jednom u prethodnoj točki x i, y i. U metodama Runge-Kutty više naloge za izračun sljedeće vrijednosti željene funkcije u točki x i +1 vrijednost desne strane jednadžbe y’= f(x,y ) izračunava se nekoliko puta, čiji broj određuje redoslijed metode.

Runge-Kutta metoda 2. reda (Napredna Eulerova metoda ). Izračunavanje vrijednosti željene funkcije u točki x i +1 provodi se u dvije faze. Najprije se metodom izračunava pomoćna količina Euler:

(6.5.3-1)

Tada se vrijednost derivacije željene funkcije u točki (x i +1 ,y i +1) koristi za izračun konačne vrijednosti funkcije:

(6.5.3-2)

Zamjenom (6.5.3-1) u (6.5.3-2) konačno dobivamo proračunsku formulu metode Runge-Kutty 2-ti red:

(6.5.3-3)

Ova metoda se također naziva metoda prognoza i korekcije. Prvo se utvrđuje gruba aproksimacija Eulerovom metodom (prognoza), a zatim rafinirana vrijednost y i +1 (ispravak).

U opći pogled formula (6.5.3-3) može se prikazati kao

(6.5.3-4)

Runge-Kutta metoda drugog reda ima vizualni geometrijska interpretacija(Sl. 6.5.3-1). Konstrukcija se provodi na sljedeći način: određuje se sjecištem okomice vraćene iz točke x i +1 s tangentom L 1 povučenom na krivulju y(x) u prethodnoj točki (x i,y i). Zatim se u točki povuče pravac L 2 s tangensom kuta nagiba jednakim . Kroz točku pod kutom povučena je ravna crta, čiji se tangens nalazi usrednjavanjem vrijednosti tangensa kutova nagiba L 1 i L 2. Pravac L povučen je paralelno kroz točku (x i,y i). Njegovo sjecište s okomicom vraćenom iz točke x i +1 daje ažuriranu vrijednost y i +1.

Greška metode Runge-Kutty drugi red povezan je s veličinom koraka integracije relacijom e 2 =C 2 h 3, gdje je C 2 proizvoljna konstanta.

Primjer 6.5.3-1. Riješite Runge-Kutta metodu drugog reda za ODE y¢= 2x/y s početnim uvjetima x 0 = 1 i y 0 = 1 na segmentu i korakom h = 0,2.

Provođenje daljnje generalizacije formula Runge-Kutty, za rješenja ODA prvi red možemo napisati sljedeće:



gdje je F – linearna funkcija argumenti x, y, h i f(x,y), koji se mogu predstaviti kao

(6.5.3-5)

Vrijednost n u (6.5.3-4) određena je redoslijedom metode, a koeficijenti a 2 , a 3 , ... , a n , P 1 , P 2 , ... , P n su odabrani takve vrijednosti koje daju minimalnu grešku. Da, za metodu Runge-Kutty dobiven četvrti red (n=4). formula za izračun sa sljedećim koeficijentima: a 2 = a 3 =1/2, a 4 =1, P 1 = P 4 =1/6, P 2 = P 3 =2/6.

Zamjenom vrijednosti koeficijenata u (6.5.3-4), imamo

(6.5.3-6)

Geometrijska interpretacija ove metode je vrlo složena i stoga nije data.

Greška metode Runge-Kuttyčetvrti red značajno manje metoda prvog i drugog reda i proporcionalna je vrijednosti h (e 4 =C 4 h 5).

Primjer 6.5.3-2. Riješite Runge-Kutta metodu četvrtog reda za ODE y¢= 2x/y s početnim uvjetima x 0 = 1 i y 0 = 1 na segmentu s korakom h = 0,2.

U praksi, kako bi se osigurala potrebna točnost (kada se koristi bilo koja metoda približnog rješenja ODA) primjenjuje se automatski odabir koraka metodom dvostrukog izračuna . U ovom slučaju, u svakoj točki x i, prema formuli koja odgovara odabranoj metodi, izračunava se y i s korakom h (y i (h)) i s korakom h/2 (y i (h /2)). Cilj dvostrukog izračuna je da se za svaku točku numeričkog rješenja te vrijednosti razlikuju za iznos koji ne prelazi specificiranu pogrešku npr. U ovom slučaju opća formula za procjenu pogreške rješenja ODA metode Runge-Kutty ima sljedeći oblik:

gdje je p red metode Runge-Kutty. Ova formula se također naziva pravilo Runge.

Ako | y i (h)) - y i (h /2) |< e, то шаг для следующей точки выбирается равным h, иначе шаг уменьшается вдвое и продолжается уточнение y i в точке х i .

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 istražiti 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 prikazan je na slici 1 gdje krivulja predstavlja točan ali naravno nepoznato rješenje jednadžba i pravac L1 konstruiran je 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, približna vrijednost pronađena na ovaj način je 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 numeričke integracije diferencijalne jednadžbe Napomena 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 

Klasična Runge-Kutta metoda 4 reda

Tema 6.3. Runge-Kutgy metoda

Runge-Kutta metode- važna obitelj numeričkih algoritama za rješavanje (sustava) običnih diferencijalnih jednadžbi. Ove iterativne metode eksplicitnog i implicitnog približnog izračuna razvili su oko 1900. njemački matematičari K. Runge i M. V. Kutta.

Formalno, Runge-Kutta metode su modificirana i ispravljena Eulerova metoda, one predstavljaju sheme drugog reda točnosti. Postoje standardne sheme trećeg reda koje se ne koriste široko. Najčešće se koristi i implementira u razne matematičke pakete (Maple, MathCAD, Maxima) standardna shemačetvrti red (vidi dolje). Ponekad se pri izvođenju izračuna s povećanom točnošću koriste sheme petog i šestog reda.

Runge-Kutta metoda 4. reda toliko je raširena da se često naziva jednostavno Runge-Kutta metoda.

Razmotrimo Cauchyjev problem. Tada se vrijednost u sljedećoj točki izračunava pomoću formule:

Veličina koraka mreže je .

Ova metoda ima 4. red, tj. pogreška u svakom koraku je O(h5), a ukupna pogreška u konačnom intervalu integracije je O(h4).

Obitelj izravnih Runge-Kutta metoda je generalizacija Runge-Kutta metode 4. reda. Daje se formulama

Specifična metoda određena je brojem s i koeficijentima bi,aij i ci. Ovi koeficijenti su često organizirani u tablicu



Što drugo čitati