15
Numeričko rešavanje običnih diferencijalnih jednačina

Numericko Resavanje Obicnih Dif J-na

Embed Size (px)

Citation preview

Page 1: Numericko Resavanje Obicnih Dif J-na

Numeričko rešavanje običnih diferencijalnih jednačina

Page 2: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

PROBLEM EGZISTENCIJE REŠENJA

Pod diferencijalnom jednačinom podrazumeva se jednačina u kojoj se pored nepoznate funkcije i njenog argumenta pojavljuje i jedan ili više njenih izvoda. Rešenje (ili integral) diferencijalne jednačine je funkcija koja zadovoljava tu jednačinu. Na primer, ako je y = y( x ) nepoznata funkcija argumenta x , imamo

Diferencijalne jednačine Rešenje

y’ – y = ex y(x) =xex + Cex

y’’ + 9y = 0 y(x) =C1sin3x + C2cos3x

y’ + 1/2y = 0 y(x) =√C-x

Sa C je označena proizvoljna brojna konstanta što ukazuje na to da diferencijalna jednačina nema u opštem slučaju jedinstveno rešenje. Zato su pri rešavanju diferencijalnih jednačina od interesa neki posebni uslovi pomoću kojih se određuju nepoznate konstante. Za diferencijalne jednačine prvog reda zadaju se takozvani početni uslovi oblika

y’ = f ( x,y ), y( x0 )= y0, (1)

što je takođe poznato kao Cauchyev problem. U ovom slučaju imamo jedinstveno rešenje. To se vidi iz sledećih primera:

y’= y+1, y(0)= 0 rešenje: y= ex -1

y’=6x-1, y(1)= 6 rešenje: y=3x2-x+4

y’=x/y+1, y(0)= 0 rešenje: y=√x2+1 -1.

Postoji veliki broj analitičkih metoda za rešavanje diferencijalnih jednačina, ali su ti metodi ograničeni na specijalne slučajeve. Tada dobijamo rešenje u obliku formule, kao što je prikazano u prethodnim primerirna. Međutim, kod velikog broja problema (koji su često povezani sa matematičkim modelima nekih procesa i pojava u tehici, fizici, biologiji i drugim disciplinama ili prirodnim pojavama) nije moguće primeniti analitičke rnetode, pa je potrebno pristupiti numeričkom određivanju približnog rešenja. Numeričko rešenje je poželjno čak i u slučajevima kada postoji rešenje u konačnom obliku ali je vrlo komplikovano. Numeričko rešenje diferencijalne jednačine često je zadato u obliku tabele tako da analitički izraz za funkciju ostaje i dalje nepoznat. Za dobijanje većeg broja značajnih cifara u rešenju potrebno je uložiti veći napor pri izračunavanju i primeniti precizniji metod.

- 2-

Page 3: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Činjenica da diferencijalna jednačina ne poseduje eksplicitno rešenje ne znači da to rešenje ne postoji u matematičkorn smislu. Sledeća teorema utvrđuje egzistenciju rešenja diferencijalne jednačine.

TEOREMA 1. Neka je dat Cauchyev problem (1) i neka je f neprekidna funkcija dve nezavisno promenljive u zatvorenoj oblasti

gde su a i b pozitivni brojevi. Pretpostavimo da

a) postoji pozitivna konstanta M takva da je

b) postoji nenegativna konstanta L takva da je

(2)

za proizvoljne dve tačke (x, y1) i (x, y2) iz D. Tada postoji jedinstveno rešenje y = y(x) Cauchyevog problema (1), definisano i neprekidno za sve vrednosti x iz intervala I = [ x0 - h, x0 +h ], gde je h = min { a, b/M }.Uslov (2) poznat je kao Lipschitzov uslov dok se konstanta L zove Lipschitzova konstanta funkcije f.

Primer 1. Pokazati da je Cauchyev problem

y’ =( x+sin y)2, y(0)= 3

ima rešenje za x є [ -1,1].

Rešenje: Kako je f( x,y )=(x+sin y)2 i ( x0,y0)=(0,3), posmatramo oblast

D = {{x, y) | |x| ≤ 1, |y - 3| ≤ b}, b є R.

Funkcija f je ograničena na D pomoću konstante M koja mora da ispunjava uslov:

|f (x,y)| ≤ (1 + 1)2 ≡ M. Sledi da je M = 4

Da bismo pokazali da rešenje postoji na intervalu [-1,1], treba da pokažemo da je h = min {1,b/M} ≥1, što znači da je uslov ispunjen za b ≥ 4. Dakle, prema teoremi 1 sledi da postoji rešenje datog Cauhyevog problema za |x| ≤ h ≤ 1.

EULEROV METOD

- 3-

D= {( x , y )∈R2||x−x0|<a , |y− y0|<b }

(∃M >0)(∀( x , y )∈D)|f (x , y )|≤M ,

(∃L≥0 )(∀( x , y1) ,( x , y2 )∈D )|f ( x , y1 )−f ( x , y2 )|≤L|y1− y2|

D= { (x , y )∈R2| |x−x0|≤a , |y− y0|≤b }

Page 4: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Euler metoda, nazvana po Leonard Euleru, je prvog reda numerički postupak za rešavanje običnih diferencijalnih jednačina, za date početne vrednosti. Eulerov metod ne spada u analitičke metode. Aproksimacija funkcije rešenja ne dobija se u obliku izraza, već u obliku tabele približnih vrednosti.

Neka je dat Cauchyjev problem na intervalu [a, b]

y’ = f( x,y ), y( x0 )= y0,

čije rešenje se traži. Interval [a, b] podelićemo na n podintervala pomoću tačaka

xo = a, xk = a + hk (k = 1,…,n) gde je h = (b - a ) / n

Pretpostavimo da je funkcija y neprekidna zajedno sa svojim izvodima y' i y". Tada na osnovu Taylorove formule postoji tačka c1 između x0 i x (x є ( x0, x1 )) takva da je:

Kako je odavde sledi da za x = x1 dobijamo:

Ako je korak h dovoljno mali, zanemarićemo poslednji član na desnoj strani i za aproksimaciju tačne vrednosti y (x1) uzeti:

(1)

Aproksimacija tačne vrednosti y (x2) na intervalu [x1, x2]:

Opšti oblik pojedinačnog koraka Eulerovog metoda:

Ovako se dobijaju niz tačaka (xk, yk), k= 0, ..., n, čijim spajanjem nastaje poligonalna linija koja se zove Eulerov poligon. Ova poligonalna linija aproksimira grafik tražene funkcije y=y(x) (sl.1).

- 4-

y ' ( x0)=f ( x0 , y0 ) , i h=x1−x0

y (x1)= y0+hf ( x0 , y0 )+h2

2y ' ' (c1 ) .

y (x1)≈ y1= y0+hf ( x0 , y0 ).

y2= y1+hf (x1 , y1 ).

yk+1= yk+hf ( xk , yk ) , (k=0 , 1 , . .. , n−1 )

Page 5: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Sl.1 Eulerov poligon

Na osnovu jednačine (1) vidi se da deo poligonalne linije koji spaja tačke xo, yo i x1, y1

predstavlja deo tangente na krivoj y= y (x) u tački (xo, yo). Deo linije koji spaja (x1, y1) i (x2, y2) pripada pravoj paralelnoj tangenti u tački (x1, y1), i tako dalje.

Eulerov metod očigledno nije mnogo precizan i u zavisnosti je od broja koraka n tj. od veličine koraka h. Sa slika se vidi da će akumulirana greška Eulerovog metoda biti značajna.Na celom intervalu [a, b] posle n koraka greška iznosi:

Ukupna greška će biti i veća nego što se vidi iz formule, zbog toga što izračunate tačke (xk, yk) ne leže na grafiku tačnog rešenja y=y(x)

Sl.2 Geometrijska interpretacija Eulerove metode

Primer 2. Rešiti diferencijalnu jednačinu

y' = 2xy, x0 = 0 i y0 = 1

- 5-

Page 6: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

na intervalu [0,1] za h = 0.1.

Rešenje:

Polazeći od opšteg oblika jednačine dobijamo vrednost

U tabeli 1. je dat rezultat dobijen Eulerovom metodom i vrednost analitičkog rešenja

( ). Na osnovu podataka u tabeli vidi se da je kvalitet rešenja dobijenog Ojlerovom metodom vrlo nizak.

(Tabela 1.)

METOD RUNGE-KUTTA

- 6-

k

yk+1= yk+hf ( xk , yk ) , (k=0 , 1 , . .. , n−1 )

yk+1= yk+2hxk⋅yk

Page 7: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Carl Runge (1895) i Wilhelm Kutta (1901) razvili su metode koje se zasnivaju na primeni Taylorovog reda, ali izbegavaju izračunavanje izvoda date diferencijalne jednačine.

Karl David Tolme Runge Martin Wilhelm Kutta

Najpre su izvedeni metodi nižeg reda, kao što su Runge-Kutta reda dva i Euler-Cauchyev metod. Ovi metodi imaju malu preciznost, a metod koji je u mnogo široj upotrebi je metod Runge-Kutta reda četiri. Ideja ovih metoda je da se u Taylorovoj metodi izraz zameni jednostavnijim tj. vrednost se izračunava na sledeći način:

(1)

pri čemu je:

Neodređeni koeficijenti se određuju iz jednakosti

(2)

tj. iz jednačina koji se dobija izjednačavanjem koeficijenata uz iste stepene h na levoj i desnoj strani. Izborom p odnosno r dobijaju se metode Runge – Kuta različitog reda.

- 7-

hT p ( xn , yn )yn+1

yn+1= yn+∑i=1

r

αi K i(n) ,

K1(n )=hf ( xn , yn )

K2(n )=hf ( xn+a2 h , yn+b21 K1

(n )),⋮

K i(n )=hf ( xn+a i h , yn+∑

j=1

i−1

b ij K j(n)) , i=1,2, . .. , r

α i , ai , b ij

hT p ( xn , yn )=∑i=1

r

α i K i(n )

Page 8: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

METODI RUNGE-KUTTA 2. REDA

Dobija se za p = 2 i r = 2. Prema (1) je

pri čemu je:

Razvijanjem K2(n) primenom Tejlorove formule dobija se:

tj.

Iz prethodne relacije i (2) izjednačavanjem odgovarajućih koeficijenata uz hk, dobija se sistem jednačina

(3)

Sistem (3) sastoji se iz tri jednačine sa četiri nepoznate, tako da ima beskonačno rešenja. Neka od njih su:

a)

Tada (1) ima oblik

Ova metoda je poznata kao modifikovana Eulerova metoda.

b)

Tada (1) ima oblik

- 8-

yn+1= yn+α1 K1(n)+α2 K2

(n)

K1(n)=hf ( xn , yn ) , K2

(n)=hf ( xn+a2 h , yn+b21 K1 ) .

K2(n)=hf (xn , yn )+h2 (a2 f

x′ (xn , yn )+b21 fy′ (xn , yn ) f (xn , yn ))+O (h3 )

yn+1= yn+h (α 1+α 2) f ( xn , yn)+h2 α2(a2 fx ′ ( xn , yn)+b21 f

y ′ ( xn , yn) f ( xn , yn))

α 1+α 2=1 ¿} α 2a2=0 . 5¿ }¿¿¿

α 1=0 , α2=1 , a2=b21=0 . 5

yn+1= yn+hf ( xn+h2

, yn+h2

f (xn , y n)) , n=0 , 1 , 2 , . ..

α 1=α2=0 .5 , a2=b21=1

yn+1= yn+h2( f (xn , y n)+ f ( xn+h , yn+hf ( xn , yn ))) , n=0 , 1 , 2, . ..

Page 9: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Ova metoda je poznata kao Heuna metod.Greška na jednom koraku kod ovih metoda je

METODI RUNGE-KUTTA 4. REDA

Dobija se za p = 4 i r = 4 tako da je

pri čemu je

Slično kao kod metode 2. reda dobija se sistem jednačina, po neodređenim koeficijentima, koji ima beskonačno mnogo rešenja.Standardna metoda Runge – Kuta 4. reda dobija se za

pa je

pri čemu je

- 9-

E=O(h3 )

yn+1= yn+α1 K1(n)+α2 K2

(n)+α3 K3(n)+α 4 K4

(n )

K1(n)=hf ( xn , yn ) ,

K2(n)=hf ( xn+a2 h , yn+b21 K1

(n)) ,

K3(n)=hf ( xn+a3 h , yn+b31 K1

(n)+b32 K2(n)) ,

K4(n)=hf ( xn+a4 h , y n+b41 K1

(n)+b42 K 2(n)+b43 K3

(n ))

α 1=α 4=16

, α 2=α3=13

,

a2=a3=12

, a4=1 ,

b21=b32=12

, b31=b41=b42=0 , b43=1

yn+1= yn+16 ( K1

(n)+2 K2(n)+2 K3

(n )+K 4(n)) , n=0 , 1 ,. . .

K1(n)=hf ( xn , yn ) ,

K2(n)=hf ( xn+

h2

, yn+K1

(n )

2),

K3(n)=hf ( xn+

h2

, yn+K2

(n )

2),

K4(n)=hf ( xn+h , yn+K3

(n ))

Page 10: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Greška metode na svakom koraku jeNa sl.3 je prikazana grafička interpretacija Runge-Kutta metode 4. reda

Sl. 3 Grafička interpretacija Runge-Kutta metode 4. reda

Primer 3. Rešiti diferencijalnu jednačinu

y' = 2xy, x0 = 0 i y0 = 1 na intervalu [0,1] za h = 0.1.

Rešenje:

U tabeli 2. je dat rezultat dobijen Runge-Kutta metodom četvrtog reda i vrednost analitičkog rešenja, dobijen korišćenjem ugrađenih matematičkih funkcija u Turbo Pascal-u. -

- vrednost analitičkog rešenja

xk y(xk)

- 10-

x

i

xi + h/2

xi + h

f

1

f

2f

3

f4

4321 226

1fffff

f

E=O(h5 )

Page 11: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

0.0 1,000000000 1,000000000

0.1 1,010050167 1,010050167

0.2 1,040810770 1,040810774

0.3 1,094174265 1,094174284

0.4 1,173510814 1,173510871

0.5 1,284025256 1,284025417

0.6 1,433328995 1,433329415

0.7 1,632315187 1,632316220

0.8 1,896478467 1,896480879

0.9 2,247902590 2,247907987

1.0 2,718270175 2,718281828(Tabela 2.)

Na intervalu [0, 1] uporedićemo efikasnost Eulerove i RK metode.

Iz primera se vidi da je slaganje sa analitičkim rešenjem daleko veće kod rezultata Runge-Kutta metode nego kod rezultata Ojlerove metode.

Primer 4. Neka je data diferencijalna jednačina

, y0 = 1

sa početnom vrednošću y(0) =1. Korišćenjem metoda Runge-Kutta reda četiri naći aproksimaciju rešenja na intervalu 0≤ x ˂ 1 sa korakom h=0,1. Uporediti sa vrednošću tačnog rešenja y ( x )=x+√1−x2.

Rešenje: Korišćenjem programskog paketa Wolfram Mathematica dobili smo sledeće rezultate:

- 11-

y '=1−xy

1−x2

Page 12: Numericko Resavanje Obicnih Dif J-na

Seminarski rad- Numeričko rešavanje običnih diferencijalnih jednačina

Rezultati izračunavanja prikazani su u Tabeli 3 zajedno sa vrednostima tačnog rešenja i greškom.

Tabela 3.

- 12-