31
1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj diferencijalnih jednačina, koje su od praktičnog interesa, se može rešiti analitički, tj. dobiti njeno rešenje u vidu analitički definisane funkcije y(x). Tako se problem sa početnim ili graničnim uslovima za jednačinu, ( ) ) ( , 0 ) ( , ), ( ), ( , ) ( b x a x y x y x y x F n < < = K (8.1) (Glava 3), koja važi u nekom konačnom intervalu ) , ( b a x , rešava približno ili numerički, pri čemu je rešenje u obliku tabele približnih vrednosti tražene funkcije: (x i , y i ), i = 0,1,...,N. Slično, numeričko rešenje sistema on n dif. jednačina m – toga reda (Glava 5) se dobija u obliku tabele približnih vrednosti n funkcija ) ( , ), ( 1 x y x y n K , u tačkama N i x i , , 1 , K = . Kaže se da smo izvršili diskretizaciju domena [a, b] nezavisno promenljive i najčće su odabrane vrednosti nezavisno promenljive ekvidistantne: b x a x N i N a b h ih x x N i = = = - = + = , ,..., 2 , 1 , ) ( , 0 0 (8.2) Na Sl. 8.1 su skicirani: tačno rešenje jednačine (8.1) , tj. neka funkcija ) ( x y ϕ = i numeričko rešenje, tj. niz tačaka (x i , y i ), i = 0,1,...,N. tačna vrednost, ( ) i x ϕ Izračunata približna vrednost ϕ(x) x i x 0 y i y 0 y Slika 8.1 – Analitičko i numeričko rešenje dif. jednačine (8.1)

8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

  • Upload
    letu

  • View
    255

  • Download
    6

Embed Size (px)

Citation preview

Page 1: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

1

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

Mali broj diferencijalnih jednačina, koje su od praktičnog interesa, se može rešiti analitički, tj. dobiti njeno rešenje u vidu analitički definisane funkcije y(x). Tako se problem sa početnim ili graničnim uslovima za jednačinu,

( ) )(,0)(,),(),(, )( bxaxyxyxyxF n <<=′K (8.1)

(Glava 3), koja važi u nekom konačnom intervalu ),( bax∈ , rešava približno ili numerički , pri čemu je rešenje u obliku tabele približnih vrednosti tražene funkcije: (xi, yi), i = 0,1,...,N. Slično, numeričko rešenje sistema on n dif. jednačina m – toga reda (Glava 5) se dobija u obliku tabele približnih vrednosti n funkcija )(,),(1 xyxy nK , u tačkama Nixi ,,1, K= . Kaže se da smo

izvršili diskretizaciju domena [a, b] nezavisno promenljive i najčešće su odabrane vrednosti nezavisno promenljive ekvidistantne:

bxax

NiN

abhihxx

N

i

==

=−

=+=

,

,...,2,1,)(

,

0

0 (8.2)

Na Sl. 8.1 su skicirani: tačno rešenje jednačine (8.1) , tj. neka funkcija )(xy ϕ= i numeričko rešenje, tj. niz tačaka (xi, yi), i = 0,1,...,N.

tačna vrednost, ( )ixϕ

Izračunata približna vrednost

ϕ(x)

xi x0

yi

y0

y

Slika 8.1 – Analitičko i numeričko rešenje dif. jednačine (8.1)

Page 2: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

2

8.1 PREVOĐENJE ODJ VIŠEG REDA U SISTEM ODJ PRVOG REDA

Jednačina n- tog reda: (8.1), 1>n , se smenama:

)1(1

1

2

1

,

,

==

=

=

nn

n

n ydx

ydy

dx

dyy

yy

M (8.3)

prevodi u sledeći ekvivalentan sistem od n ODJ 1. reda:

[ ][ ]

[ ][ ]),,,,(),,,,(

),,,,(

),,,,(

),,,,(

2121

2111

21232

21121

nnnn

nnnn

n

n

yyyxfyyyxfdx

dy

yyyxfydx

dy

yyyxfydx

dy

yyyxfydx

dy

KK

K

M

K

K

==

==

==

==

(8.3a)

Prvih n-1 jednačina je dakle definisano samim smenama, dok se poslednja jednačina dobija, imajući u vidu da je:

( ))1()( −

==nnn y

dx

dy

dx

dy

rešavanjem polazne diferencijalne jednačine (8.1) po najvišem izvodu uz date smene:

),...,,,(),...,,,(0),...,,,( 21

smene)1()()(

nnnn yyyxfyyyxfyyyyxF =′=⇒=′ −

U slučaju da rešavamo početni problem,

Page 3: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

3

)1(0

)1(

0

0

)(

)(

)(

−− =

′=′

=

nn yay

yay

yay

M

dobijenom sistemu jednačina (8.3) treba dodati početni uslove za uvedene funkcije:

)1(0

02

01

)(

)(

)(

−=

′=

=

nn yay

yay

yay

M (8.3b)

Primer: Diferencijalna jednačina 2. reda:

042 22 =+′−′′ yyyy

se smenama:

yyyy ′== 21 ,

prevodi u sistem:

1

21

22

222

21

2

4

2

4

y

yy

y

yyy

dx

dy

ydx

dy

−=

−′=′′=

=

U slučaju početnog problema: 00 )0(,)0( yyyy ′=′= ,dobijeni sistem se rešava sa početnim

uslovima: 0201 )0(,)0( yyyy ′==

8.2 OJLEROVA METODA ZA REŠAVANJE JEDNA ČINE PRVOG REDA

Tražimo funkciju y(x), definisanu u oblasti [a, b], kao rešenje problema sa početnim uslovom:

0)(,),( yayyxfy ==′ (8.4)

Pretpostavimo da je poznata vrednost funkcije u tački xi, )( ii xyy = . Kako odrediti vrednost

funkcije yi+1 u sledećoj tački? Ojlerova (Euler) metoda se zasniva na aproksimaciji prvoga izvoda količnikom priraštaja :

Page 4: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

4

( ) ( )iiiii

ii

ii yxfxyh

yy

xx

yy,1

1

1 =′≈−=−− +

+

+

iz koje sledi rekurentna formula za dobijanje približnog rešenja: ( ) 1,...1,0,,1 −=+=+ Niyxhfyy iiii (8.5)

korak diskretizacije h (9.8) naziva se korak integracije ili integracioni korak.

PRIMER 8..1 Potrebno je rešiti numerički diferencijalnu jednačinu:

1)0(

10,25

=

≤≤−=

y

xydx

dy

a) Dobiti numeričko rešenje, deleći interval definisanosti funkcije (interval integracije) na N=10 podintervala (koraka) i uporediti ga sa tačnim rešenjem:

xexy 25)( −

=

b) Ponoviti proračun sa N = 15 integracionih koraka i uporediti ga sa tačnim rešenjem.

c) Ponoviti proračun i poređenje za N = 50

d) Povećavati broj integracionih koraka, dok maksimalno odstupanje približnog od tačnog rešenja na intervalu integracije ne postane manje od 0.01

Rešenje :

i 0 N..:=ε y yt−:=

yt

0

0

1

2

3

4

5

6

7

8

9

10

1

0.082

6.738·10 -3

5.531·10 -4

4.54·10 -5

3.727·10 -6

3.059·10 -7

2.511·10 -8

2.061·10 -9

1.692·10 -10

1.389·10 -11

=y

0

0

1

2

3

4

5

6

7

8

9

10

1

-1.5

2.25

-3.375

5.063

-7.594

11.391

-17.086

25.629

-38.443

57.665

=ytiφ x

i( ):=yt01:=Tacne vrednosti :

yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=

xi

x0

i h⋅+:=i 1 N..:=

Integracija :

y0

1:=x0

a:=h 0.1=hb a−

N:=Korak integracije:N 10:=a)

φ x( ) e25− x:=Tacno resenje: b 1:=a 0:=f x y,( ) 25− y:=Podaci:

Page 5: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

5

ε y yt−:=Greske:

yt

0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

0.189

0.036

6.738·10 -3

1.273·10 -3

2.404·10 -4

4.54·10 -5

8.575·10 -6

1.62·10 -6

3.059·10 -7

5.778·10 -8

1.091·10 -8

2.061·10 -9

3.893·10 -10

7.353·10 -11

1.389·10 -11

=y

0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

-0.667

0.444

-0.296

0.198

-0.132

0.088

-0.059

0.039

-0.026

0.017

-0.012

7.707·10 -3

-5.138·10 -3

3.425·10 -3

-2.284·10 -3

=ytiφ x

i( ):=Tacne vrednosti :

yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=

xi

x0

i h⋅+:=i 1 N..:=Integracija :

h 0.067=hb a−

N:=N 15:=b)

Racunski proces je nestabilan! Numericko resenje osciluje oko tacnog,pri cemu odstupanje raste.

0 5 1050

0

50

100

εi

i

0 5 1050

0

50

100

y i

yti

i

i 0 N..:=

0 5 10 151

0

1

y i

yti

i

5 101

0

1

εi

i

Priblizno resenje osciluje oko tacnog, ali se greska po apsolutnoj vrednosti smanjuje.

Racunski proces je stabilan

Greska metode je velika max ε→( ) 0.856=

Page 6: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

6

Priblizno resenje osciluje oko tacnog, ali se greska po apsolutnoj vrednosti smanjuje.

0 5 10 151

0

1

y i

yti

i

i 0 N..:=

ε y yt−:=Greske:

yt

0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

0.189

0.036

6.738·10 -3

1.273·10 -3

2.404·10 -4

4.54·10 -5

8.575·10 -6

1.62·10 -6

3.059·10 -7

5.778·10 -8

1.091·10 -8

2.061·10 -9

3.893·10 -10

7.353·10 -11

1.389·10 -11

=y

0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

-0.667

0.444

-0.296

0.198

-0.132

0.088

-0.059

0.039

-0.026

0.017

-0.012

7.707·10 -3

-5.138·10 -3

3.425·10 -3

-2.284·10 -3

=ytiφ x

i( ):=Tacne vrednosti:

yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=

xi

x0

i h⋅+:=i 1 N..:=Integracija:

h 0.067=hb a−

N:=

N 15:=b)

Racunski proces je nestabilan! Numericko resenje osciluje oko tacnog,pri cemu odstupanje raste.

0 5 1050

0

50

100

εi

i

0 5 10

0

100

y i

yti

i

Page 7: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

7

Racunski proces je stabilan, aline dovoljno tacan

Greska ima stalni znak i po apsolutnoj vrednostimonotono opada.

5 10 15 200.15

0.1

0.05

0

εi

i

Priblizno resenje ne osciluje

0 5 10 15 200

0.5

1

y i

yti

i

i 0 N..:=

max ε→( ) 0.118=ε y yt−:=yti

φ xi( ):=

Greske:

yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=xi

x0

i h⋅+:=i 1 N..:=

Integracija :

h 0.02=hb a−

N:=Korak integracije:N 50:=c)

max ε→( ) 0.856=Greska metode je velika

Racunski proces je stabilan

5 101

0

1

εi

i

Page 8: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

8

Racunski proces je stabilan, aline dovoljno tacan

Greska ima stalni znak i po apsolutnoj vrednostimonotono opada.

2 4 6 8 100.15

0.1

0.05

0

εi

i

Priblizno resenje ne osciluje

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

y i

yti

i

i 0 N..:=

max ε→( ) 0.118=ε y yt−:=yti

φ xi( ):=Greske:

yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=xi

x0

i h⋅+:=i 1 N..:=

Integracija :

h 0.02=hb a−

N:=Korak integracije:N 50:=c)

d)

N 100:= Korak integracije: hb a−

N:= h 0.01=

Integracija :

i 1 N..:= xi

x0

i h⋅+:= yi

yi 1−

h f xi 1−

yi 1−

,( )⋅+:=Greske:

ytiφ x

i( ):= ε y yt−:= max ε→( ) 0.051=

Povecavati broj integracionih koraka dok se ne dobi ju prihvatljivirezultati: ε 0.01<

Page 9: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

9

8.3 TAČNOST I STABILNOST NUMERI ČKE METODE

Lokalna greška i red numeri čke metode

Lokalna greška neke numeričke metode, 1+iE je greška na (i + 1)-vom integracionom

koraku (i = 0,1,...,N-1), tj. odstupanje tačnog priraštaja tražene funkcije kada se x promeni sa xi na xi+1, od priraštaja )( 1 ii yy −+ izračunatog posmatranom metodom. Njena apsolutna vrednost

opada sa smanjivanjem integracionog koraka i u opštem slučaju je proporcionalana nekom celobrojnom pozitivnom stepenu koraka, hn. Tako je ona, kada h teži nuli, beskonačno mala veličina reda hn i pišemo:

( )ni hOE =+1

Po dogovoru, kažemo da je metoda p - tog reda tačnosti, ako je njena lokalna greška reda hp+1:

( )1

1+

+ =p

i hOE (8.6)

Da bi izveli izraz za lokalnu grešku Ojlerove metode, pretpostavimo da je vrednost yi tačna.

Tačnu vrednost za yi+1 bi dobili integracijom diferencijalne jednačine (8.4) u granicama xi do xi+1:

( )( ) ( )( )∫∫∫ +++

+=⇒= +

111

,, 1

i

i

i

i

i

i

x

x

ii

x

x

y

y

dxxyxfyydxxyxfdy (8.7)

Ojlerov metod se bazira na aproksimaciji podintegralne funkcije Tajlorovim polinomom nultog reda - konstantom. Naime, funkcija f(x, y), tj. prvi izvod tražene funkcije y(x) se uzima konstantnim i jednakim f(xi, yi) u celom intervalu ],[ 1+ii xx , odakle sledi formula (8.5). Tačna

vrednost yi+1 bi bila:

( ) ( ) ( ) ( )1

ijeaproksimac greska

1

1

!1, ++ <ξ<

ξ′−++= ∫+ ii

x

x

iiiiti xxdxf

xxyxfyyi

i 4434421

odnosno,

( ) ( ) ( ) ( ) ( ) ( )ξ′′+=ξ′+=ξ′−++= +++ ∫+ yh

yfh

ydxf

xxyxhfyy ii

x

x

iiiiti

i

i22!1

,2

1

2

1

metodOjlerov

1

1

4434421

pa je lokalna greška metode jednaka:

( ) ( ) 1

2

111 ,2 ++++ <ξ<ξ′′=−= iiitii xxyh

yyE (8.8)

Page 10: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

10

U skladu sa dogovorom (8.6), kažemo da je Ojlerova metoda prvog reda tačnosti. Na Sl. 8.2 data je grafička ilustracija lokalne greške Ojlerove metode. Metode prvog reda tačnosti su najmanje tačne metode i radi postizanja zahtevane tačnosti numeričkog rešenja ODJ, u nekim problemima neophodno je odabrati vrlo male integracione korake (Vidi primer 8.1).

nagib = f(xi,yi )

f(xi,yi)

1+iE

ii yy −+1

xi xi+1 xi+1

f(x,y(x))

yi+1

( )tiy 1+

1+iE

xi

yi

y

Slika 8.2 - Lokalna greška Ojlerove metode

Globalna greška i stabilnost numeri čke metode Pod globalnom greškom neke numeričke metode integracije dif. jednačine, podrazumeva se

odstupanje tačnog od numeričkog rešenja. Tako je globalna greška, εi+1 u nekoj tački xi+1 u intervalu integracije, jednaka:

( ) 11111 )( +++++ −=−=ε itiiii yyyxy (8.9)

Na Sl. 8.1, globalne greške u pojedinim tačkama su odstupanja krive (tačno rešenje dif. jednačine) od tačaka (približno rešenje).

Jasno je da ako lokalna greška metode raste iz koraka u korak, to će prouzrokovati povećanje globalne greške sa povećanjem x odnosno i, tj. propagaciju greške u toku računskog procesa. U skladu sa definicijom stabilnosti računskog procesa, takva numerička metoda je nestabilna. U problemu 8.1a) uočava se nestabilnost Ojlerove metode pri približnom rešavanju zadate ODJ, sa korakom integracije 0.1 .

Povećanje globalne greške tokom računskog procesa može biti prouzrokovano i akumulacijom grešaka zaokruživanja. Tako, sa smanjenjem integracionog koraka, radi povećanja tačnosti metode može doći do propagacije grešaka zaokruživanja (veliki broj računskih operacija) i povećanja nestabilnosti procesa. Propagacija grešaka zaokruživanja se može minimizovati ako se proračun izvodi sa velikim brojem značajnih cifara, što je slučaj pri korišćenju Mathcad-a, ili pri proračunu u dvostrukoj preciznosti u nekom programskom jeziku .

Page 11: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

11

Propagacija greške u ra čunskom procesu Neka je globalna greška procene funkcije u tački xi jednaka: ( ) itii yy −=ε . Ova greška

prouzrokuje grešku procene funkcije u sledećoj tački xi+1 (pojava širenja ili propagacije greške), pošto vrednost funkcije koja se zamenjuje u formulu (8.5) nije tačna. Globalna greška metode u tački 1+ix , s obzirom da se 1+iy dobija kao zbir iy i procenjenog priraštaja jednaka je zbiru,

• globalne greške u tački ix , tj . greške vrednosti iy ,

• greške izračunatog priraštaja koja potiče od greške iy ,

• lokalne greške metode 1+iE ,

• greške zaokruživanja

Ako grešku zaokruživanja zanemarimo, globalnu grešku vrednosti 1+iy procenjene

Ojlerovom metodom, dobijamo kao:

1,...,1,0,1),(1 −=+ε+ε=ε ++ NiEiyxhfii ii

Za grešku priraštaja funkcije (srednji sabirak) uzećemo linearnu procenu:

[ ] iiiixyxhf yxy

fhyxhf

y iiiε

∂∂=ε

∂∂=ε ),(),(),(

pa je:

1,...,1,0,)],(1[ 11 −=+ε∂∂+=ε ++ NiEyxy

fh iiiii

odnosno:

1,...,1,0,)](1[ 11 −=+εω+=ε ++ NiExh iiii (8.10)

gde je funkcija )(xω definisana kao:

),()( yxy

fx

∂∂=ω (8.11)

Naprimer, za jednostavnu diferencijalnu jednačinu:

.)(,)0(, 0 constyyyy =λ=λ=′ (8.12)

čije je analitičko rešenje ,

xeyxy λ= 0)(

jednačina (8.10) sa izrazom (8.8) za lokalnu grešku metode daje :

Page 12: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

12

[ ] )1,...,1,0(,2

1 1

greska lokalna

20

2

1 −=<ξ<λ+ελ+=ε +λξ

+ Nixxeyh

h iiii

43421

(8.13)

Stabilnost metode

Iz (8.10) je jasno da globalna greška približnog rešenja ODJ ne raste po apsolutnoj vrednosti u toku Ojlerovog postupka (i raste), ako su zadovoljeni uslovi:

• izraz )1( ω+ h je po apsolutnoj vrednosti manji ili najviše jednak jedinici,

)0(],,[,1)(1 0 >∈≤ω+ hxxxxh N

odnosno,

],[,0)(2 0 Nxxxxh ∈≤ω≤− (8.14a)

• lokalna greška (8.8), odnosno drugi izvod funkcije y(x), je konstantan ili monotono opada po apsolutnoj vrednosti:

],[,0)(

0 Nxxxdx

xyd∈<

′′ (8.14b)

Formulisali smo dakle dovoljan uslov stabilnosti Ojlerove metode. U specijalnom slučaju (8.12) navedeni uslovi su i neophodni i uslov (8.14a) glasi :

)0(02 >≤λ≤− hh (8.15)

pa je • za pozitivne vrednosti parametra λ, Ojlerova metoda nestabilna, sa bilo koliko malim

korakom integracije h (tada nije zadovoljen ni drugi uslov,8.14b),

• za negativne vrednosti λ (tada je zadovoljen drugi uslov), metoda će biti stabilna, ako i samo ako integracioni korak (h > 0) zadovoljava uslov (8.15) odnosno,

λ≤ 2

h (8.16)

Iz izraza (8.10), vidimo da se u slučaju nestabilnog procesa, ako su na intervalu integracije funkcije )( i )( xyx ′′ω ograničene, efekat nestabilnosti na globalnu grešku Ojlerove metode može učiniti proizvoljno malim, ako se uzme dovoljno mali korak integracije. PRIMER 8.2: U prethodnom primeru smo Ojlerovom metodom integrisali ODJ oblika (8.12) sa

λ = -25, sa početnim uslovom y0 = 1. Stabilnu (što ne znači i dovoljno tačnu) računsku proceduru obezbeđuje izbor veličine integracionog koraka:

08.0252 =≤h

Page 13: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

13

što objašnjava nestabilnost proračuna sa N = 10, h = 0.1 (a). Nestabilan računski proces u (a) ima oscilatoran karakter. To se može objasniti na sledeći način. Za datu ODJ, Ojlerova metoda (8.5), za približnu vrednost funkcije u tački xi+1 daje:

( ) 1,...,1,0,1),(1 −=λ+=λ+=+=+ Niyhyhyyxhfyy iiiiiii

Očigledno je da rešenje osciluje, tj. naizmenično menja znak (a time i globalna greška) u toku nestabilnog proračuna (a), jer je:

01)1( <−<λ+ h

Stabilan računski proces može da ima oscilatoran ili monoton karakter. On je oscilatoran, ako je:

λ

≤<λ

⇒<λ+≤− 210)1(1 hh

odnosno u posmatranom primeru: 0.04 < h ≤ 0.08, što smo imali za N = 15 (b). Stabilan računski proces ima monoton karakter (vrednosti yi ne menjaju znak),za:

λ

<<⇒>λ>⇒−>λ−−>⇒<λ+< 10011101)1(0 hhhh

što smo imali u slučajevima (c) i (d).

8.4 MODIFIKOVANE OJLEROVE METODE

Poznate modifikacije Ojlerove metode, sa ciljem povećanja tačnosti su:

• Ojlerova metoda srednje tačke

• Ojlerova metoda srednjeg nagiba

i obe su drugog reda, tj. lokalna greška im je proporcionalna 3. stepenu integracionog koraka.

Metoda srednje ta čke

Geometrijski interpretirano, kod originalne Ojlerove metode se približna vrednost funkcije yi+1 u tački xi+1 dobija kretanjem iz tačke (xi, yi), po tangenti krive y(x), povučene u tački xi (prva ilustracija na Sl. 8.2). Kod metode srednje tačke se pomeranje iz xi za korak h vrši duž prave s nagibom izračunatim, kao nagib tangente na krivu y(x) u srednjoj tački xi+0.5h posmatranog intervala ],[ 1+ii xx (Sl. 8.3), čime se povećava tačnost procenjenog priraštaja (yi+1 - yi). Rezultat je

formula:

)(

1,...,1,0),5.0,5.0(

00

1

xyy

Nihfyhxfhyy iiiii

=

−=++⋅+=+ (8.17)

Page 14: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

14

Slika 9.3 Ojlerova metoda srednje tačke

Slika 8.3 Ojlerova metoda srednje tačke

Metoda srednjeg nagiba

Kod ove metode se pomeranje iz tačke (xi, yi) vrši duž prave, čiji je nagib izračunat kao srednji nagib tangenti na krivu y(x) u početnoj i krajnjoj ta čki posmatranog intervala ],[ 1+ii xx :

[ ])(

1,,1,0,),(),(2

00

1

xyy

Nihfyhxfyxfh

yy iiiiiii

=

−=++++=+ K (8.18)

x

y

x i+1 x i

y i+1

y i

k1

k2

k2

ks

( )( )2

,

,

21

2

1

kkk

hfyhxfk

fyxfk

s

iii

iii

+=

++=

==

Slika 8.4 - Ojlerova metoda srednjeg nagiba 8.5 RUNGE KUTA METODA 4. REDA

Zbog svoje tačnosti i relativne jednostavnosti, ovo je najverovatnije najšire korišćena metoda za numeričku integraciju ODJ 1. reda. Formule su:

y

x

k2

yi+1

xi+1 xi xi +h/2

yi

k1

k2

k1,k2- nagibi pravih

( )( )iii

iii

hfyhxfk

fyxfk

5.0,5.0

,

2

1

++=

==

Page 15: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

15

( )

),(

)2,2(

)2,2(

),(

1,...,1,0,226

1

34

23

12

1

43211

KyhxhfK

KyhxhfK

KyhxhfK

yxhfK

NiKKKKyy

ii

ii

ii

ii

ii

++=

++=

++=

=

−=++++=+

(8.19)

Geometrijska interpretacija je sledeća. Tačka (xi+1, yi+1) se dobija pomeranjem iz tačke (xi, yi) po pravoj , čiji je nagib izračunat kao srednja vrednost 4 nagiba, pri čemu su 2. i 3. nagib uzeti sa dvostrukom težinom u odnosu na 1. nagib (nagib tangente u početnoj tački) i 4. nagib (nagib tangente u krajnjoj tački). Naime, u formulama (8.19), prepoznajemo:

1. f (xi, yi) nagib u početnoj tački

2. f (xi+h/2, yi+K1/2) nagib u sred.tački dobijenoj iz poč.tačke nagibom 1

3. f (xi+h/2, yi+K2/2) nagib u sred.tački dobijenoj iz poč.tačke nagibom 2

4. f (xi+h, yi+K3) nagib u krajnjoj tački dobijenoj iz poč.tačke, nagibom 3

PRIMER 8.3 Diferencijalna jednačina koja opisuje promenu koncentracije reaktanta u reakciji prvog reda BA → koja se odigrava u idealno mešanom i idealno izolovanom (adijabatski režim) šaržnom reaktoru glasi:

)()(

)0(,

00

0)(0

AAp

RA

AAACTR

E

A

CCc

HTCT

CCCekdt

dCA

−ρ∆+=

=−= −

gde su:

00, ACT - početna temperatura i koncentracija

k0, E - predeksponencijalni faktor i energija aktivacije u Arenijusovom izrazu

R - univerzalna gasna konstanta

RH∆ - toplota reakcije

cp, ρ - specifična toplota i gustina reakcione smeše

Potrebno je za date podatke (Praktkum) odrediti koncentraciju reaktanta nakon 2500s od startovanja reaktora,

a) Ojlerovom metodom s različitim integracionim koracima

b) Runge - Kuta (Runge- Kutta) metodom 4. reda sa različitiom integracionim koracima i uporediti rezultate

Rešenje: (Praktikum, XIII-3)

Page 16: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

16

8.6 KLASIFIKACIJA NUMERI ČKIH METODA ZA INTEGRACIJU ODJ 1. REDA

Jedna podela metoda je na:

• jednokoračne, koje za izračunavanje vrednosti funkcije yi+1 u narednoj tački koriste samo vrednost funkcije i izvoda u prethodnoj tački (yi, fi ) To su prethodno izložene Ojlerove metode i metoda Runge-Kuta.

• višekoračne, koje za izračunavanje yi+1 pored yi i fi koriste i vrednosti funkcije i izvoda u nizu prethodnih tačaka: yi-1, fi-1 = f(xi-1, yi-1), yi-2, fi-2 = f(xi-2, yi-2), ...

Druga podela je na:

• eksplicitne, kod kojih je formula za izračunavanje vrednosti funkcije u narednoj tački, yi+1 ekplicitno izražena po yi+1. Izložene Ojlerove metode i metoda Runge – Kuta su eksplicitne jednokoračne metode

• implicitne , kod kojih je formula za izračunavanje yi+1 implicitna pa se ono računa iterativno, postupkom uzastopnih zamena. Implicitne metode su stabilnije u odnosu na eksplicitne istoga reda tačnosti.

8.7 IMPLICITNA OJLEROVA METODA

Implicitne jednokoračne metode se baziraju se na ideji da se pri aproksimaciji izvoda f(x,y)

funkcije y(x), radi procenjivanja vrednosti funkcije u narednoj tački, yi+1 uklju či i tačka xi+1 u kojoj je vrednost funkcije f(xi+1, y(xi+1)) nepoznata i da se onda zahvaljujući iterativnom određivanju yi+1 iz tako dobijene implicitne formule (metod uzastopnih zamena) poveća stabilnost računskog procesa. Implicitne metode sadrže dve formule:

• prediktor formulu, koja služi za određivanje prve procene za yi+1, pomoću neke eksplicitne jednokoračne metode

• korektor formulu, koja je implicitna i čijim se iterativnim koriš ćenjem (metod uzastopnih zamena) dobija yi+1 sa unapred zadatom preciznošću.

• izlazni kriterijum za okončanje iteracionog procesa

Tako se implicitnom metodom srednjeg nagiba, koja je, kao i odgovarajuća eksplicitna metoda, drugog reda, vrednost funkcije yi+1 računa kao:

( ))(

1,...,1,0,),(),(2

00

111

xyy

Niyxfyxfh

yy iiiiii

=

−=++= +++

(8.20)

a prediktor i korektor formule i izlazni kriterijum su:

Page 17: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

17

prediktor:

),()0(1 iiii yxhfyy +=+ (8.21a)

korektor:

[ ] 1...,1,0;,...1,0),(),(2

)(11

)1(1 −==++= ++++ Nikyxfyxf

hyy k

iiiiik

i (8.21b)

izlazni kriterijum:

ε<− +++

)(1

)1(1

ki

ki yy (8.21c)

Može se pokazati da je dovoljan uslov stabilnosti implicitne Ojlerove metode manje restriktivan nego uslov stabilnosti Ojlerove eksplicitne metode, jer je umsto (8.14a) dovoljno da bude ispunjeno:

],[x x 0),()( 0 Nxyxy

fx ∈≤

∂∂=ω (8.22)

PRIMER 8.4 Problem iz prethodnog zadatka rešiti primenom Ojlerove implicitne metode

Rešenje: (Praktikum, XIII-4)

8.8 VIŠEKORAČNE EKSPLICITNE METODE

Približna vrednost funkcije, koja predstavlja tačno rešenje diferencijalne jednačine:

00)(,),( yxyyxfdx

dy== (8.23)

u tački xi+1 može da se odredi približnom integracijom jednačine u granicama xi-k do xi+1 gde je k ≥ 0 :

( )( )dxxyxfyyi

ki

x

x

kii ∫+−

=− −+

1

,1

Pri tom ćemo podintegralnu funkciju aproksimirati pomoću II Njutnovog interpolacionog polinoma r-tog stepena, sa čvorovima interpolacije: xi, xi-1 ,...,xi-r. Dakle, on ne prolazi kroz (nepoznatu) tačku (xi+1, yi+1), da bi rezultujuća formula bila ekplicitna. Tako se višekoračne eksplicitne metode izvode iz jednačine:

Page 18: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

18

( ) ( ) ( )11

1

1 ,1,, ++

−+ ≠−

=ααα+= ∫ iiri

k

rkii yxfPh

xxdPhyy (8.24)

Uslov ( ) ( )11,1 ++≠=α iir yxfP , znači da gornja granica integracije xi+1(α = 1) nije

interpolacioni čvor pa je interpolacioni polinom )(αrP na desnom kraju intervala integracije "slobodan" . Kaže se da je rezultujuća integraciona formula otvorenog tipa, za razliku od formula zatvorenog tipa, koje služe za približno računanje određenih integrala ( napr. trapezna i Simpsonova formula).

Za različite izbore k i r , izvode se različite formule. Tako na primer, za r = 2 interpolacioni polinom izgleda:

( ) ( ) ( ) ( ) ( )2112

2 2!2

1

!2

1−−−

+−+αα+−α+=∇+αα+∇α+=α iiiiiiiii fffffffffP

i za odabrano k = 3, izvodi se sledeća formula, 4 - tog reda:

( ) ( )52131 ,1,...,4,3,22

3

4hOENifffhyy iiiii =−=+−+= −−−+ (8.25)

Ona očigledno zahteva prethodno izračunavanje prve tri vrednosti funkcije, nekom jednokoračnom metodom. Što se tačnosti eksplicitnih višekoračnih metoda tiče, može se, integracijom grešaka interpolacije, izvesti:

( )( )

=+

+

+neparno za,

parno za ,3

2

1rhO

rhOE

r

r

i (8.26)

8.9 VIŠEKORAČNE IMPLICITNE METODE

Izvode se analogno eksplicitnim višekoračnim metodama, s tim što se za aproksimaciju podintegralne funkcije f(x,y(x)) koristi interpolacioni polinom koji prolazi i kroz tačku (xi+1, yi+1):

( ) ( ) ( )1111 ,,1

+++−+ =+= ∫+−

iiir

x

x

rkii yxfxPdxxPyyi

ki

Rezultat je implicitna formula (korektor formula). Kao prediktor formula koristi se neka višekoračna eksplicitna metoda.

Milne – ova metoda

To je metoda 4. reda i jedna je od najpoznatijih višekoračnih implicitnih metoda. Njena prediktor formula je izvedena na opisani način, sa k = 3, r = 2, a korektor formula sa k = 1, r =2 :

prediktor :

Page 19: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

19

1,...,4,3),22(3

4213

)0(1 −=+−+= −−−+ Nifff

hyy iiiii (8.27a)

korektor : ,...2,1,0,)4(3 1

)(11

)1(1 =+++= −+−+

+ kfffh

yy iik

iik

i (8.27b)

Za dobijanje prve tri ta čke numeričkog rešenja, koristi se neka jednokoračna metoda, najbolje, istog reda tačnosti. To je metoda Runge-Kuta 4. reda (8.19). Ako se Milne-ova implicitna višekoračna metoda uporedi sa eksplicitnom Runge-Kuta metodom, može se, imajući u vidu efekat korektora, konstatovati:

• obe metode imaju lokalne greške istog reda, O(h5)

• Milneova metoda je stabilnija , tj. otpornija na propagaciju grešaka u toku računskog procesa, pa u opštem slučaju ima manju globalnu grešku.

PRIMER 8.5 Problem formulisan u Primeru 8.3 rešiti Milne-ovom metodom.

Rešenje: (Praktikum, XIII-5)

8.10 NUMERIČKA INTEGRACIJA SISTEMA ODJ PRVOG REDA

Početni problem za sistem od n ODJ 1. reda se može formulisatu kao:

0,0

21

)(

,...,2,1,),,,,(

ii

nii

yxy

niyyyxfdx

dy

=

== K

ili u vektorskom obliku:

00)(,),( yyyfy

== xxdx

d (8.28)

Numeričko rešavanje problema zahteva diskretizaciju domena nezavisno promenljive:

x0 ≤ x ≤ xN , xk = x0 + kh , k = 0,1,..., N (8.29a)

yi,k = yi(xk), i = 1,2,...,n , k = 0,1,..., N (8.29b)

Dakle, za označavanje različitih funkcija koristićemo indeks i, a za označavanje diskretnih vrednosti x i odgovarajućih vrednosti funkcija, indeks k. Za numeričku integraciju sistema (8.28) koriste se metode numeričke integracije jedne ODJ 1. reda, pri čemu se primenjuju simultano na sve jednačine u sistemu. Opisaćemo primenu Ojlerove metode i metode Runge-Kuta.

Page 20: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

20

Primena Ojlerove metode

( ) 1,...,1,0,,...,2,1,)(),...,(),(,)()( 211 −==+=+ Nknixyxyxyxhfxyxy knkkkikiki (8.30a)

ili u vektorskom obliku:

1,..,1,0),,(1 −=+=+ Nkxh kkkk yfyy (8.30b)

Primena Metode Runge - Kutta 4. reda

1,,0,...,2,1)22(6

1)()( 43211 −==++++=+ NkniKKKKxyxy iiiikiki K (8.31)

gde su:

( )

( ) ,...,2,1,)(,,)(,

,2

)(,,2

)(,2

,2

)(,,2

)(,2

,)(),...,(

31314

21213

11112

11

niKxyKxyhxhfK

Kxy

Kxy

hxhfK

Kxy

Kxy

hxhfK

x yx, yx = hfK

nknkkii

nknkkii

nknkkii

knkkii

=+++=

+++=

+++=

KK

KK

KK

(8.31a)

ili u vektorskom obliku:

1,...,1,0),22(6

1 )(4

)(3

)(2

)(11 −=++++=+ Nkkkkk

kk KKKKyy (8.32)

gde su:

,=

2,

2=

2+,

2+=

),(

)(3

)(4

)(2)(

3

)(1)(

2

)(1

)( kk

k

k

kk

k

kk

kkk

hxh

hxh

hxh

xh

KyfK

KyfK

KyfK

yfK

++

++

=

(8.32a)

Page 21: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

21

8.11 NUMERIČKA INTEGRACIJA ODJ U MATHCAD-U Integracija ODJ 1. reda

Za približno rešavanje ODJ prvog reda (8.4) ili uopšte rešavanje jedne ODJ višeg reda (za detalje videti Help System Mathcad-a), namenjen je Odesolve block:

• prvi deo bloka počinje rečju Given (analogija sa Solve block-om) iza koje se daje formulacija problema (diferencijalna jednačina i početni uslov), u obliku vrlo sličnom izvornom (8.4)

• drugi deo bloka je poziv funkcije Odesolve, koja definiše funkciju y(x) kao interpolacionu funkciju za izračunatu tabelu - numeričko rešenje.

Značenja argumenata (x, xmax, nk) funkcije Odesolve su:

• x - nezavisno promenljiva

• xmax - gornja granica intervala integracije

• nk - broj integracionih koraka, N (neobavezan)

Ako se nk izostavi iz pozivne liste u okviru funkcije se automatski bira integracioni korak da se zadovolji tačnost sa kriterijumom definisanim sistemskim parametrom TOL.

Funkcija se bazira na Runge-Kuta metodi 4. reda sa konstantnim integracionim korakom duž intervala integracije. Postoji mogućnost izbora (desnim klikom na Odesolve) iste metode uz promenljivi korak , duž intervala integracije sa ciljem dostizanja zadovoljavajuće tačnosti.

Pozivom funkcije y(x), čije ime je definisano u formulaciji problema, može se dobiti vrednost funkcije, koja predstavlja rešenje date ODJ, u bilo kojoj ta čki iz intervala ]max.[ xa , (a = x0) .

PRIMER 8.6 Problem formulisan u zadatku 8.3 rešiti pomoću Odesolve block-a.

Rešenje: (Praktikum, XIII-6)

Početni problem za sistem ODJ 1. reda Od više funkcija kojima raspolaže Mathcad za numeričko rešavanje sistema ODJ (8.28),

odabraćemo dve:

• rkfixed , koja se bazira na Runge-Kuta metodi, sa konstantnim integracionim korakom u celom intervalu integracije ],[ 0 Nxx (8.31),

• Rkadapt, koja za razliku od rkfixed menja korak duž intervala integracije da bi se zadovoljio kriterijum ta čnosti, definisan sistemskim parametrom TOL.

Obe funkcije imaju identičnu listu argumenata: y, x0, xmax, nt, D:

• y - vektor početnih vrednosti funkcija

• [x0, xmax] interval integracije (8.29a)

Page 22: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

22

• nt - broj izračunatih vrednosti funkcija traženih 1,...,1,0),( −= nixyi , koje korisnik dobija

• D - prethodno definisana vektorska funkcija f(x,y) (8.28)

Funkcije vraćaju matricu dimenzija [(nt+1)× (nt+1)] čija prva kolona sadrži levu granicu x0 i nt ekvidistantnih vrednosti nezavisno promenljive, a ostale kolone odgovarajuće vrednosti traženih funkcija 1,...,1,0),( −= nixyi .

PRIMER 8.7 Diferencijalne jednačine koje opisuju promene koncentracija učesnika u reakcijama prvog reda:

12

10 05.0,1.0,

10−− ==→→ skskCBA

kk

sa vremenom, u šaržnom, idealno mešanom reaktoru, su:

0)0()0(,1)0( 3

1

10

0

===

=

−=

−=

CBA

BC

BAB

AA

CCmkmolC

Ckdt

dC

CkCkdt

dC

Ckdt

dC

a) Pomoću funkcije rkfixed naći numeričko rešenje datog sistema u vremenskom intervalu (s) ]60,0[ , sa N = 20 integracionih koraka i krajnje koncentracije komponenata.

b) Proveriti da li je odabrani broj koraka dovoljno veliki da obezbedi tačnost krajnjih koncentracija od 4 sigurne cifre.

c) Isti problem rešiti pomoću funkcije Rkadapt, pri čemu se traže koncentracije u 5 ekvidistantnih vremenskih momenata u datom intervalu. Uporediti rešenja.

Rešenje: (Prakt., XIV-2)

Funkcije rkfixed i Rkadapt mogu da se koriste za integraciju jedne ODJ 1. reda, pri čemu se ona posmatra kao specijalan slučaj sistema ODJ.

PRIMER 8.8 Problem definisan u Primeru 8.3, rešiti pomoću funkcija rkfixed i Rkadapt

Rešenje: (Prakt., XIV-3)

8.12 GRANIČNI PROBLEM ZA ODJ 2. REDA

Za teoriju hemijskih reaktora je od posebnog interesa rešavanje ODJ 2. reda, čiji je opšti oblik:

y′′ + g2(x, y)y′ + g1(x, y) y = g0(x), a ≤ x ≤ b (8.32) sa razdvojenim graničnim uslovima, koji u najopštijem slučaju (Robinov problem) glase:

Ay(a) + B y′ (a) = c (8.33a)

Page 23: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

23

A1y(b) + B1 y′ (b) = c1 (8.33b)

Specijalan slučaj ODJ (8.32) je linerna ODJ:

y′′ + g2(x)y′ + g1(x)y = g0(x) (8.32a)

Specijalni slučajevi problema (graničnih uslova) su:

• Dirihleov (Dirichlet) problem (A = A1 = 1, B = B1 = 0)

y(a) = c (8.34a)

y(b) = c1 (8.34b)

• Nojmanov (Neuman) problem (A = A1 = 0, B = B1 = 1)

y′(a) = c (8.35a)

y′(b) = c1 (8.35b)

Treba reći, da u opštem slučaju, tip graničnog uslova na levoj granici ne mora da bude isti kao tip uslova na drugoj granici. Recimo na levoj granici možemo imati Dirihleov uslov (8.34a), a na desnoj Nojmanov (8.35b)

8.13 METOD PROBE I GREŠKE (shooting )

Dirihleov problem (8.34a,b)

Uzmimo kao primer Dirihleov problem. Uz diskretizaciju domena nezavisno promenljive:

ihxxbxaxn

abh in +===

−= 00 ,,,

diferencijalna jednačina (8.32) se rešava numeričkom integracijom ekvivalentnog sistema ODJ prvog reda :

( )

( ) ( ) ( )( )( ) ( ) ?

,,

,

002

01

21211102

2121

=′=

=

−−=

′===

xyxy

cxy

yyxgyyxgxgdx

dy

yyyyydx

dy

(8.36)

Međutim, za otpočinjanje numeričke integracije sistema nedostaje vrednost prvog izvoda tražene funkcije u tački x0 = a. Probajući sa različitim početnim vrednostima za )(xy′ , dobijali bi različite

Page 24: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

24

vrednosti funkcije )( nn xyy = na kraju intervala integracije i tražimo onu vrednost )( 0xy′ za koju

se za yn dobija zadata vrednost c1, tj. dok se ne zadovolji uslov (8.34b) na desnoj granici x = b:

1. k = 0, usvaja se polazna procena )(0)( kxy′

2. Integriše se sistem ODJ 1. reda:

( ) ( ) ( )( )( ) ( )( )kxyxy

cxy

yyxgyyxgxgdx

dy

ydx

dy

002

01

21211102

21

,,

′=

=

−−=

=

3. Ako je zadovoljen uslov ε<− 1)()( cxy k

n , kraj postupka. Inače,

4. k = k+1, usvaja se nova procena )(0)( kxy′ . Povratak na 2.

Kojim algoritmom da korigujemo procenu )(0)( kxy′ ? Iz prethodne analize sledi da se problem

može postaviti kao problem traženja korena jednačine:

F(y′ (x0)) = y(xn) - c1 = 0 (8.37)

odnosno nule funkcije F(y′ (x0)), koja nije definisana analitički nego se njena vrednost za neku vrednost nezavisno promenljive y′ (x0), dobija numeričkom integracijom sistema (8.36) za tu vrednost y′ (x0) (vidi Sl. 8.5).

b = xn a = x0

nagib y′(a)(k)

c1

F(k)

y Numeričko rešenje u k-toj iteraciji

y(b)(k)

Rešenje, koje zadovoljava uslov y(b) = c1

Slika 8.5 - Grafička ilustracija metode probe i greške za rešavanje Dirihleovog

problema

Tako, ako odaberemo metod sekante, korigovanu procenu početne vrednosti prvog izvoda tražene funkcije dobijamo formulom:

Page 25: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

25

K,2,1,)(

])()([)()(

1)()(

)1()(

)1(0

)(0

)()(

0)1(

0

=−=

−′−′

−′=′−

−+

kcxyF

FF

xyxyFxyxy

kn

k

kk

kkkkk

(8.38)

Nojmanov problem (9.33a,b)

Pošto je na levoj granici intervala integracije poznata vrednost izvoda, ali ne i vrednost same funkcije koju tražimo, problem rešavamo kao problem traženja korena jednačine:

( ) 0)()( 10 =−′= cxyxyF n (8.39)

metodom sekante.

Robinov problem (8.33a,b)

Problem se može rešavati kao problem rešavanja jednačine:

F(y(x0)) = A1y(xn) + B1y′(xn) - c1 = 0 (8.40)

Iz procene početne vrednosti funkcije y(x0)(k), dobijene metodom sekante, početnu vrednost

njenog prvog izvoda dobijamo iz graničnog uslova (8.33a):

])([1

)( )(0

)(0

kk xAycB

xy −=′

Alternativno, ako se kao nezavisno promenljiva uzme početna vrednost prvog izvoda y′(x0)(k), iz

istog graničnog uslova se dobija procena početne vrednosti funkcije y(x0)(k).

PRIMER 8.9 U tankom filmu tečnosti, debljine L, koji je sa jedne strane (x = 0) u kontaktu sa turbulentnom masom fluida, a sa druge (x = 1), sa čvrstim zidom, odvija se reakcija:

BAk→

i bezdimenzioni koncentracijski profil y(x) reaktanta A u filmu, opisan je diferencijalnom jednačinom:

0)1(

1)0(

05.022

2

=′

=

=Φ−

y

y

ydx

yd

gde je bezdimenzioni parametar2Φ (Tilov modul), definisan kao:

Page 26: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

26

D

kL22 =Φ

k - konstanta brzine reakcije

D - koeficijent difuzije reaktanta kroz film tečnosti

Izračunati koncentracijski profil reaktanta u filmu za 8.02 =Φ

Rešenje: (Mathcad)

PRIMER 8.10 Bezdimenzioni matematički model reakcije:

BAk→

n - tog reda, u poroznom zrnu katalizatora oblika pločice, debljine L je:

zrna) inaspovrspoljnja(11

:1

)zrna simetrijeravan (0:0

10,022

2

(−=−=

==

≤≤=Φ−

ydx

dy

Bix

dx

dyx

xydx

yd n

gde su 2Φ i Bi bezdimenzione grupe (Tilov modul i Bajotov broj). Izračunati koncentracijski profil u zrnu za: 5,5.0,2 ===Φ Bin

Rešenje: (Mathcad)

Mathcad funkcije za realizaciju shooting metoda

U Mathcad-u postoje dva postupka za shooting metode:

• Pomoću Odesolve bloka

• Korišćenjem funkcije sbval

Shooting pomo ću Odesolve bloka

Primena Odeslove bloka je ograničena na Dirihleove i Nojmanove granične uslove. Odesolve blok za rešavanje problema u primeru 8.10 za vrlo velike Bajotove brojeve, kada se uslov na spoljnoj površini zrna redukuje u Dirihleov: 1:1 == yx , izgleda:

Given

2xy x( )

d

d

2Φ2

y x( )n⋅− 0

y' 0( ) 0 ( ' se realizuje sa Ctrl+F7)

y 1( ) 1

y Odesolve x 1,( ):=

Page 27: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

27

Primena funkcije sbval

Nedostajuća početna vrednost funkcije ili prvog izvoda za integraciju sistema dif. jednačina 1. reda

( )

( ) ( ) ( ) 21211102

2121

,,

,

yyxgyyxgxgdx

dy

yyyyydx

dy

−−=

′===

ekvivalentnog diferencijalnoj jednačini 2. reda (8.32), pri kojoj je zadovoljen zadati granični uslov na drugoj granici, dobija se pozivanjem funkcije sbval(u, x1, x2, D, load, score) čiji argumenti su:

• u - vektor, čiji su elementi: početna vrednost tražene finkcije i njenog izvoda. Jedna od njih je poznata (zadata), a za drugu je neophodno dati polaznu procenu

• x1, x2 – donja i gornja granica intervala nezavisno promenljive

• D – vektorska funkcija čiji su elementi desne strane sistema sistema ODJ koji se integriše (8.36)

• load(a, u) – vektorska funkcija, čiji su elementi redom:

- u0 i zadata početna vrednost izvoda , ako se pogađa početna vrednost funkcije, ili

- zadata početna vrednost funkcije i u1, ako se pogađa početna vrednost izvoda

pri čemu u0 ili u1 (polazne procene nedostajuće početne vrednosti) moraju prethodno biti definisani.

• score(b, u) – funkcija kojom se definiše uslov na drugoj granici

Jasno je da pozivu sbval funkcije moraju da prethode definicije funkcija load i score kao i definicija polazne procene funkcije u0, ili izvoda u1. Funkcija sbval daje vektor sa jednim elementom, koji predstavlja traženu početnu vrednost funkcije ili izvoda.

PRIMER 8.11 Problem iz prethodnog primera za vrlo veliki Bajotov broj rešiti,

a) Pomoću Odesolve bloka,

b) POmoću sbval funkcije

(Rešenje: Praktikum XV-1)

PRIMER 8.12 Problem iz primera 8.10 rešiti za Bi = 5.

(Rešenje: Praktikum, XV-2)

Problem singulariteta na granici

U diferencijalnoj jednačini koja opisuje koncentracijski profil rekatanta A u poroznom katalitičkom zrnu sfernog oblika, u kome se odvija reakcija →A proizvodi n-tog reda ,

Page 28: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

28

zrna) inaspovrspoljnja(11

:1

)zrnacentar (0:0

10,02 2

2

2

(−=−=

==

≤≤=Φ−+

ydx

dy

Bix

dx

dyx

xydx

dy

xdx

yd n

funkcija

x

yxg2

),(2 =

nije definisana na levoj granici (singularitet). Kako se rešava problem singulariteta na granici, ilustruju sledeći primeri.

PRIMER 8.13 U poroznom katalitičkom zrnu sfernog oblika, odigrava se reakcija n-tog reda: →A proizvodi.

a) Izračunati i nacrtati koncentracijski profil reaktanta za 5Bi,5.0,2 ===Φ n ,

b) Izračunati faktor efektivnosti procesa u zrnu, η

(Rešenje Praktikum, XVI-1)

PRIMER 8.14 Diferencijalna jednačina :

0)1(

0)0('

12

2

=

=

δ−=+

y

y

edx

dy

xdx

yd y

predstavlja bezdimenzioni matematički model eksplozije dinamita u obliku štapa. Rešti je sa 2=δ .

(Rešenje: Praktikum, XVI-2)

8.14 LINEARNA ODJ. METODA SUPERPOZICIJE

Može se pokazati, da ako je diferencijalna jednačina linearna (8.32), algebarska jednačina koja se rešava metodom probe i greške (8.37, 8.39 ili 8.40) je takođe linearna, pa se njeno rešenje dobija u prvoj iteraciji metode sekante, iz dve polazne procene, odnosno rešenje dif. jednačine se dobija u trećoj integraciji ekvivalentnog sistema od 2 ODJ 1. reda.

Metoda superpozicije

Za linearnu diferencijalnu jednačinu važi princip superpozicije: linearna kombinacija dva partikularna rešenja,

( ) ( ) ( )xyxyxy 2211 λ+λ= (8.41)

Page 29: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

29

je takođe partikularno rešenje. Tako se rešenje Robinovog problema može dobiti na sledeći način:

1. Sa polaznom procenom y′1(a) dobijamo numerički prvo partikularno rešenje y1 u obliku dva niza: y1=( y1,i , y′1,i )i = 0,n

2. Sa polaznom procenom y′2(a) dobijamo numerički drugo partikularno rešenje y2=(y2,i , y′2,i)i = 0,n

3. Iz uslova da traženo rešenje y = λ1y1 + λ2y2 zadovolji granične uslove (8.33a,b), tj. iz sistema od dve linearne jednačine:

( ) ( )( ) ( ) 1,22,111,22,111

0,220,110,220.11

cyyByyA

cyyByyA

nnnn =′λ+′λ+λ+λ

=′λ+′λ+λ+λ

dobijamo parametre λ1 i λ2

4. Konačno, rešenje dobijamo superpozicijom:

niyyy iii ,...,1,0,,22,11 =λ+λ=

PRIMER 8.15 Za reakciju prvog reda u tankom filmu tečnosti (Primer 8./9), koncentracijski profil reaktanta je opisan linearnom ODJ 2. reda:

0)1(

1)0(

022

2

=′

=

=Φ−

y

y

ydx

yd

Izračunati za 8.02 =Φ , koncentracijski profil,

a) metodom probe i greške

b) metodom superpozicije

Rešenje: (Mathcad)

PRIMER 8.16 Za reakciju 1. reda u poroznoj pločici katalizatora (Primer 8.10), matematički model glasi:

11

:1

0:0

10,022

2

−=−=

==

≤≤=Φ−

ydx

dy

Bix

dx

dyx

xydx

yd

Izračunati koncentracijski profil u zrnu za: 5,2 ==Φ Bi

a) metodom probe i greške

b) metodom superpozicije

Rešenje: (Mathcad)

Page 30: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

30

8.15 LINEARNA ODJ. METODA KONA ČNIH RAZLIKA

Alternativan način približnog rešavanja graničnog problema za linearnu ODJ (8.32a) je metoda konačnih razlika, koja se zasniva na aproksimaciji izvoda konačnim razlikama . Izvodi koji figurišu u dif. jednačini (8.28a) aproksimiraju se u unutrašnjim tačkama xi, i=1,2,... n-1 diskretizovanog domena nezavisno promenljive, konačnim razlikama:

( ) ( )( ) ( )2

2111

2

2

2111

,2

,22

hOEh

yyy

h

hyhy

h

yxy

hOEh

yy

h

yyxy

iiiiiii

iiiii

=+−=∆−∆=∆≈′′

=−=∆+∆≈′

−+−

−+−

(8.42)

(greška aproksimacija je reda h2) čime se diferencijalna jednačina zamenjuje sledećim sistemom od (n -1) linearne algebarske jednačine sa, u uslučaju Robinovog problema, ukupno (n +1) nepoznatih: yi, i = 0,1,..., n,

1,...,2,1,)()()(2

0111

2211 −==+

−+

+− −+−+ nixgyxgh

yyxg

h

yyyiii

iii

iii (8.43)

Nedostajuće 2 jednačine su granični uslovi (8.33a,b) u kojima su prvi izvodi aproksimirani konačnim razlikama unapred ili u nazad (greške aproksimacija su reda h):

ch

yyBAy =

−+ 01

0 (8.44a)

11

11 ch

yyByA nn

n =−

+ − (8.44b)

Rezultujući sistem linearnih jednačina, tj. njegova matrica ima trodijagonalnu strukturu , jer :

• prva jednačina (8.44a) sadrži samo prve dve nepoznate: 10, yy

• k - ta jednačina, nk ,...,3,2= sadrži samo tri nepoznate: kkk yyy ,12, −− (vidi jedn. 8.43, pri

čemu je 1−= ki )

• poslednja, (n+1)-va jednačina (8.44b) , sadrži samo poslednje dve nepoznate, nn yy ,1−

On se rešava se Tomasovim (Thomas) algoritmom koji štedi memoriju i računsko vreme u odnosu na Gausov postupak. U specijalnom slučaju Dirihleovih graničnih uslova, vrednosti funkcije u krajnjim tačkama, y0 i yn su zadate, pa se rešavaju samo jednačine (8.43) po y1,...,yn-1.

PRIMER 8.17 Bezdimenzioni koncentracijski profil reaktanta c(z) u cevnom reaktoru, u kome se odvija reakcija prvog reda:

BAk→

opisan je diferencijalnom jednačinom:

Page 31: 8 Numeričko rešavanje običnih diferencijalnih jednačinaomorr/radovan_omorjan_003_mmtp/8_Numericko... · 1 8 Numeričko rešavanje običnih diferencijalnih jednačina Mali broj

31

reaktora) iz (izlaz0:1

reaktor)u (ulaz11

:0

10,01

2

2

==

=−=

≤≤=−−

dz

dcz

dz

dc

Pecz

zcDdz

dc

dz

cd

Pe a

Potrebno je, za vrednosti bezdimenzionih parametara: Pe = 1, Da = 2

a) Izračunati i nacrtati koncentracijski profil c(z)

b) Izračunati postignu stepen konverzije reaktanta u reaktoru:

)0(

)1()0(

c

ccx

−=

c) Uporediti dobijeni rezultat za x sa onim izračunatim iz analitičkog rešenja problema:

aeeeaeee

rrrre

xrrxrre

DPPPrDPPPr

eerrererP

ererPrrzc

42

1

2

1,4

2

1

2

1

)()(

)(),,(

22

21

2112

1221 2112

2112

+−=++=

−+−

−=

++

d) Povećavati broj integracionih koraka (za po 100), dok se numeričkim postupkom ne dobije stepen konverzije sa tačnošću od 3 sigurne cifre.

Rešenje: (Prakt., XVI-4)