1. ordenako ekuazio diferentzialak:

Post on 22-Feb-2016

84 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

1. ordenako ekuazio diferentzialak:. Lehen ordenako ekuazio diferentzial arrunta, edo ordinarioa, hurrengo erako adierazpena da:. Ebatzi nahi dugun problema da ekuazio diferentzial hori integratzea, hau da, funtzio bat, y = f(x), kalkulatzea zeinak aurreko adierazpena betetzen - PowerPoint PPT Presentation

TRANSCRIPT

1. ordenako ekuazio diferentzialak:

Lehen ordenako ekuazio diferentzial arrunta, edo ordinarioa, hurrengoerako adierazpena da:

y'= f(x,y) Ebatzi nahi dugun problema da ekuazio diferentzial hori integratzea, hauda, funtzio bat, y = f(x), kalkulatzea zeinak aurreko adierazpena betetzenbaitu eta baita hastapen-baldintza bat, y(x0) = y0 ere.

Ondorengo Cauchy-ren teoremak bermatzen digu soluzio bat existitzendela eta bakarra dela hurrengo baldintza murriztaileetan:

Cauchy-ren teorema: f(x,y) analitikoa bada (x0,y0) puntua gordetzen duen D eremu batenbarnean, orduan existitzen da funtzio analitiko bat, eta soilik bat, y(x),zeinak egiaztatzen baitu:

y'=dydx

= f(x,y)ondoko hastapen-baldintzarekin: y(x0)=y0

Funtzio bat analitikotzat jotzen da baldin eta deribagarria bada infinitualdiz: f ∈C∞

Beste baldintza bat, ez hain zorrotza, soluzioa existitzeko eta bakarra izateko (nahiz eta, agian, analitikoa ez izan) da Lipschitz-en baldintza:

Demagun funtzio bat, f(x,y), definituta dagoela XY planoko eremubatean. Esaten da f(x,y) funtzioak Lipschitz-en baldintza bat betetzenduela (y-rekiko) eremu horretan honelako konstante bat, M >0, existitzenbada:

f(x,y1)− f(x,y2) ≤M y1 −y2

(x,y1) eta (x,y2) eremuaren puntu guztietarako. M konstanteari Lipschitz-en konstantea deitzen zaio.

Baldintza nahikoa bat Lipschitz-en baldintza bat (y-rekiko) egiaztatzekoda ∂f/∂y existitu dadila eta bornatua izan dadila D eremuan. Hain zuzenere, hori baieztatzen denean benetan Lipschitz-en baldintza bat (y-rekiko)betetzen da, eta Lipschitz-en konstantea hurrengo hau da:

M= sup(x,y)∈D

∂f(x,y)∂y

Benetan:

f (x,y1) − f (x,y2) = (y1 − y2)∂f (x,ξ )∂y

non ξ ∈ (y1,y2)

beraz:

Para ver esta película, debedisponer de QuickTime™ y de

un descompresor GIF.Para ver esta película, debedisponer de QuickTime™ y de

un descompresor GIF.

f(x,y1)− f(x,y2) =y1 −y2∂f(x,ξ)∂y

≤ sup(x,y)∈D

∂f(x,y)∂y

y1 −y2

Adibidea:

Demagun D eremua honela definituta dagoela:

x ≤a ; y≤b

eta bedi f(x,y) funtzioa hurrengo hau :

f (x,y) =y2

∂f/∂y existitzen denez eta D eremuan bornatua denez:

∂f(x,y)∂y

=2y

M= sup(x,y)∈D

∂f(x,y)∂y

=2b

Emaitza bera honela ere lortu zitekeen:

f(x,y1)− f(x,y2) =y12 −y2

2 =y1 +y2 y1 −y2 ≤2by1 −y2

Dena den, ikusi dugun baldintza hau (y-rekiko deribatu partzialarena),nahiz eta nahikoa izan, ez da beharrezkoa Lipschitz-en baldintza bat egiaztatzeko, ondoko adibidean ikus daitekeen bezala:

f (x,y) = x y , x ≤ a ; y ≤ b

f(x,y1)− f(x,y2) =xy1 −xy2 ≤x y1 −y2 ≤ay1 −y2

Funtzio honek betetzen du Lipschitz-en baldintza bat:

Nahiz eta ∂f/∂y ez den existitzen (x,0)puntuetan.

Euler-en metodoa: Lehen ordenako ekuazio diferentzialak numerikoki integratzeko metodo hurbildua eta erraza da:

Bedi:

dydx

= f(x,y)

ondoko hastapen-baldintzarekin:y(x0)=y0

Demagun y(x) dela problemaren soluzio zehatza. Hartzen baldin badugux0-rekiko nahiko gertu dagoen x bat, orduan, zilegi da ondoko hurbilketa:

y(x) ≅y(x0)+dydxx0

(x−x0)

y(x) ≅y(x0)+dydxx0

(x−x0) =y0 +f (x0,y0) (x−x0)

Hortaz, adibidez, x1 = x0+h, hartzen baldin badugu, orduan, numerikokikalkula dezakegu y1 = y(x1) -ren balio hurbildua hurrengo erara:

x1 =x0 +hy1 ≅y0 +f (x0,y0) h

Orain x0-rekiko urrutiago (x1 baino) dagoen x2 puntu batean y2 = y(x2)-renbalio hurbildua kalkulatu nahi badugu, lehen bezala arituko gara:

dydx

= f(x,y)baina orain ondoko hastapen-baldintza hurbilduarekin: y(x1) ≅y1

Erabili Euler-en metodoa hurrengo ekuazio diferentzialaren soluzioarihurbiltzeko hurrengo puntuetan: x = 0.2, 0.4, 0.6, 0.8 eta 1, bai h = 0.2 bai h = 0.1 balioekin.

dydx

=2x+y ; y(0) =1

h = 0.2

x1 =x0 +hy1 ≅y0 +f (x0,y0) h

=0+0.2=0.2=1+1×0.2=1.2

x2 =x1 +hy2 ≅y1 +f (x1,y1) h

=0.2+0.2=0.4=1.2+1.6×0.2=1.52

x3 =x2 +hy3 ≅y2 +f(x2,y2) h

=0.4+0.2=0.6=1.52+2.32×0.2=1.984

x4 =x3 +hy4 ≅y3 +f (x3,y3) h

=0.6+0.2=0.8=1.984+3.184×0.2=2.6208

x5 =x4 +hy5 ≅y4 +f (x4,y4) h

=0.8+0.2=1.0=2.6208+4.2208×0.2=3.46496

h = 0.1

x1 =x0 +hy1 ≅y0 +f (x0,y0) h

=0+0.1=0.1=1+1×0.1=1.1

x2 =x1 +hy2 ≅y1 +f (x1,y1) h

=0.1+0.1=0.2=1.1+1.3×0.1=1.23

x3 =x2 +hy3 ≅y2 +f(x2,y2) h

=0.2+0.1=0.3=1.23+1.63×0.1=1.393

x4 =x3 +hy4 ≅y3 +f (x3,y3) h

=0.3+0.1=0.4=1.393+2.3923×0.1=1.83153

x5 =x4 +hy5 ≅y4 +f (x4,y4) h

=0.4+0.1=0.5=1.5923+2.3923×0.1=1.83153

x6 =x5 +hy6 ≅y5 +f(x5,y5) h

=0.5+0.1=0.6=1.83153+2.83153×0.1=2.114683

x7 =x6 +hy7 ≅y6 +f (x6,y6) h

=0.6+0.1=0.7=2.114683+3.314683×0.1=2.4461513

x8 =x7 +hy8 ≅y7 +f(x7,y7) h

=0.7+0.1=0.8=2.4461513+3.8461513×0.1=2.8307664

x9 =x8 +hy9 ≅y8 +f(x8,y8) h

=0.8+0.1=0.9=2.8307664+4.4307664×0.1=3.273843

x10 =x9 +hy10 ≅y9 +f (x9,y9) h

=0.9+0.1=1.0=3.273843+5.073843×0.1=3.7812273

Ikusten dugunez orain lortutako balioak, h=0.1 balioarekin, desberdinakdira lehen lortu genituenekiko h=0.2 balioarekin. Zenbat eta txikiagoh-ren balioa orduan eta hobea izango da hurbilketa (neketsuagoa ere, zereniterazioen kopurua handiago izango baita). h-ren balio konstante baterakoegindako errorea gero eta handiagoa izango da hasierako puntutik, x0-tik,alegia aldendu ahala. Hau ondo ikus daiteke hurrengo grafikoan nonbi soluzio hurbilduak erakusten baitira soluzio zehatzarekin batera:

0

1

2

3

4

5

0 0.2 0.4 0.6 0.8 1 1.2

y(x) = -2(x+1)+3ex

h = 0.2

h = 0.1

Euler-en metodo hobetua:

Hurrengo lehen ordenako ekuazio diferentzialaren:

dydx

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

soluzio zehatza x1 puntuan ondoko adierazpenak emanda dago:

y(x1) =y(x0) + f(x,y) dxx0

x1

∫ Lehen ikusi dugun Euler-en metodo arruntean hurrengo hurbilketa onartzen genuen:

y(x1) ≅y(x0) +f(x0,y0) (x1 −x0)

Bi adierazpenak alderatuz, ikusten da, hurbilketaren baliokidea delasuposatzea soluzio zehatzaren, f(x,y)-ren, balioa konstantea dela integratzailean, eta balio hori integralaren beheko muturrarena dela, hauda, f(x, y) = f(x0,y0):

y(x1) =y(x0) + f(x,y) dxx0

x1

∫ =y(x0) +f(x0,y0) (x1 −x0)

f (x,y) = f (x0,y0) bada Bidezkoagoa emango luke, integralean, f(x,y)-ren balioari hurbiltzeabere batezbesteko balioaz, bere beheko muturraren balioaz baino:

Baina hori egin nahi badugu, arazo bat sortzen da: y1-ren balioaren hurbilketa kalkulatzeko, aldez aurretik, beharko genuke balio hori f(x1,y1)-en balioa kalkulatzeko batezbestekoan.

y(x1) =y(x0) + f(x,y) dxx0

x1

∫ =y(x0) + f(x0,y0)+f (x1,y1)2 (x1 −x0)

f (x,y) = f (x0,y0) + f (x1,y1)2

bada

Korapilo hau hurrengo erara askatzen da: Lehenbizi y1 -ren kurbilketabat kalkulatzen dugu Euler-en metodo arruntaren bidez:

y1(0) ≅y0 +f(x0,y0) h

Gero, hurbilketa hori erabiltzen da f(x1,y1(0)) kalkulatzeko eta, honen

bidez, hurbilketa berri bat (zehatzagoa) lor dezakegu y1-rako:

y1(1) =y0 + f(x0,y0)+f (x1,y1

(0))2 h

noski, azken hau erabil genezake beste hurbilketa zehatzagoa lortzeko:

y1(2) =y0 + f(x0,y0)+ f(x1,y1

(1))2 h

eta horrela ekin genezake gero eta iterazio gehiago kalkulatuz hurbilketa bat ontzat jo arte.

Behin erabakitzen dugun hurbilketa ona lortu dugula y1-rako prozedurabera errepikatuko genuke y2 kalkulatzeko:

y2(0) ≅y1 +f(x1,y1) h

y2(1) =y1 + f(x1,y1)+f(x2,y2

(0))2 h

y2

(2) =y1 + f(x1,y1)+f (x2,y2(1))

2 hM

Erabili Euler-en metodo ondua hurrengo ekuazio diferentzialaren soluzioari hurbiltzeko hurrengo puntuetan x = 0.2 eta 0.4, h = 0.2 balioa eta hiru zifra esangarri erabiliz:

dydx

=2x+y ; y(0) =1

h = 0.2

y1(0) ≅y0 +f(x0,y0) h

=0+0.2=0.2=1+1×0.2=1.2

x1 =x0 +h

y1(1) =y0 + f(x0,y0)+f (x1,y1

(0))2 h=1+1+2×0.2+1.2

2 0.2=1.26

y1(2) =y0 + f(x0,y0)+ f(x1,y1

(1))2 h=1+1+2×0.2+1.26

2 0.2=1.266

y1(3) =y0 + f(x0,y0)+f (x1,y1

(2))2 h =1+1+2×0.2+1.266

2 0.2=1.2666

y1(4) =y0 + f(x0,y0)+ f(x1,y1(3))

2 h =1+1+2×0.2+1.26662 0.2=1.26666

Orduan, hiru zifra esangarri erabiliz: y1 ≅1.267x2 =x1 +hy2

(0) ≅y1 +f(x1,y1) h=0.2+0.2=0.4

=1.267+ 2×0.2+1.267( )×0.2=1.6004y2

(1) =y1 + f(x1,y1)+f(x2,y2(0))

2 h

y2(1) =1.267+ 2×0.2+1.267( ) + 2×0.4+1.6004( )

2 0.2=1.67374

y2(2) =y1 + f(x1,y1)+f (x2,y2

(1))2 h

y2(2) =1.267+ 2×0.2+1.267( ) + 2×0.4+1.67374( )

2 0.2=1.681074

y2(3) =y1 + f(x1,y1) +f(x2,y2

(2))2 h

y2(2) =1.267+ 2×0.2+1.267( ) + 2×0.4+1.681074( )

2 0.2=1.6818074

y2(4) =y1 + f(x1,y1)+f (x2,y2

(3))2 h

y2(4) =1.267+ 2×0.2+1.267( )+ 2×0.4+1.6818074( )

2 0.2=1.6818807

Ondorioz, hiru zifra esangarriekin: y2 ≅1.682

0

1

2

3

4

5

0 0.2 0.4 0.6 0.8 1 1.2

y(x) = -2(x+1)+3ex

h = 0.2

h = 0.1

h = 0.2Euler ondua

Taylor-en algoritmoa:

Beste era alternatibo bat Euler-en metodoa hobetzeko izango litzatekebatugai gehiago hartzea soluzio zehatzaren Taylor-en garapenean:

y(x) ≅y(x0)+y'(x0)(x−x0)+y''(x0)

2 (x−x0)2 +K

Hau hurrengo erara egin daiteke: Hurrengo ekuazio diferentzialatik abiatuz:

y'= f(x,y)eta x-rekiko deribatuz, hau da geratzen zaiguna:

y''=∂f (x,y)∂x

+∂f (x,y)∂y

y' =∂f(x,y)∂x

+f (x,y)∂f(x,y)∂y

Hemndik aurrera hurrengo idazkera laburdua onartuko dugu:

y''=∂f (x,y)∂x

+f(x,y)∂f(x,y)∂y

≡∂x f + f ∂y f

Deribatzen jarraitzen badugu:

y'''= ddx

∂x f +f ∂yf[ ]

y'''=∂x2 f +∂y∂x f y'+∂x f∂y f + ∂yf( )2 y'+f∂x∂yf + f∂y2 f y'

y'''=∂x2 f +2 f∂x∂y f +∂xf∂yf +f ∂y f( )2 +f 2∂y2 f

eta horrela ekin genezake gero eta ordena handiagoko deribatuak kalkulatuz. f funtzioak edozein ordenako deribatuak onartuko balitu (hau da, f analitikoa balitz), orduan, honela kalkula genezake soluziozehatza (Cauchy-ren teorema).

Metodo hau erabiltzen badugu lehengo adibidearekin:

dydx

=2x+y ; y(0) =1

y'=2x+1=1y''=2+y'=3y'''=y''=3

y'v=yv =K =yn =3Beraz, soluzio zehatza honela idatz daiteke:

y(x) =1+x+3x2

2 +3x3

3! +K +3xnn! =3ex −2−2x

Kasu orokorrean, ordea, metodo hau neketsua suerta daiteke hurrengo adibidean egiaztatzen den bezala:

y'= sin x + cos yy(0) = 0

y'= sin x + cos y

y' '= cos x − y'sin y

=cos x − (sin x + cos y)sin y

y' '= cos x − sin x sin y − sin y cos y

y' ' '= −sin x − y' 'sin y − y'( )2 cos y

y'v = −cos x − y' ' 'sin y − y' ' y 'cos y − 2y' y' 'cos y + y'( )3 sin y

y v = sin x − y 'v sin y − y' ' ' y 'cos y − y ' ' ' y'cos y − y ' '( )2 cos y + y' ' y'( )

2 sin y

− 2 y ' '( )2 cos y − 2y ' y' ' 'cos y + 2 y'( )

2 y ' 'sin y + 3 y '( )2 y' 'sin y + y'( )

4 cos y

y v = sin x − y 'v sin y − 4y ' ' ' y'cos y − 3 y' '( )2 cos y + 6y' ' y'( )

2 sin y + y'( )4 cos y

y v '= cos x − y v sin y − y 'v y'cos y − 4y 'v y'cos y − 4y ' ' ' y' 'cos y +

+ 4y' ' ' y'( )2 sin y − 6y' ' y ' ' 'cos y + 3 y ' '( )

2 y'sin y +12y' y' '( )2 sin y +

+ 6 y '( )2 y' ' 'sin y + 6 y'( )

3 y ' 'cos y + 4 y '( )3 y' 'cos y − y '( )

5 sin y

y v '= cos x − y v sin y − 5y'v y 'cos y −10y' ' ' y ' 'cos y +

+10y' ' ' y'( )2 sin y +15 y ' '( )

2 y'sin y + 6 y '( )3 y' 'cos y +

+10 y '( )3 y' 'cos y − y '( )

5 sin y

Ondorioz, kalkuluak eginez:

y'(0) =1 y'v (0) =−4y''(0) =1 yv(0) =2y'''(0) =−1 yv' (0) =41

eta soluzioa honela idatz daiteke:

y(x) ≅x+x2

2 −x3

3! −4x4

4! +2x5

5! +41x6

6!

y(x) ≅x+x2

2 −x3

6 −x4

6 +x5

60+41x6

720

Picard-en metodoa (segidako hurbilketena):

Lehen ikusi genuen bezala, hurrengo lehen ordenako ekuaziodiferentzialaren:

dydx

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

soluzio zehatza x puntuan hurrengo erara idatz daiteke:

y(x) =y(x0)+ f(x,y) dxx0

x

∫ y(x) funtzioa ezagutuko bagenu, goiko integralean ordezkatuko genezake eta horrela identitate hutsa eskuratuko genuke. Aldiz, soluzio hurbildu bat, y0(x), ezagutuko bagenu goiko integraleansar genezake beste hurbilketa hobea erdiesteko, y1(x). Azken hau integratuz beste bat lortuko genuke, y2(x), eta abar.

y1(x) =y(x0)+ f (x,y0(x)) dxx0

x

∫y2(x) =y(x0)+ f (x,y1(x)) dx

x0

x

∫M

yn(x)=y(x0) + f(x,yn−1(x)) dxx0

x

∫ Normalean egiten den lehen hurbilketa da y0(x) konstantetzat hartzeaeta konstantea hori, noski, hastapen-baldintzarena da: y0(x) = y(x0).

Konbergentzia ona lortuko ez balitz, beste hasierako hurbilketekin, y0(x), saia gintezke Euler-en metodoaz (edo Euler-en metodo onduaz). Integralak numerikoki kalkulatzen direnean metodo hauei, Adams-Bashforth izena ematen zaie.

Erabili Picard-en metodoa hurrengo problemarekin:

y'= sin x + cos yy(0) = 0

y1(x) =y(x0) + f(x,y0(x)) dxx0

x

=0 + sin x +1( ) dx0

x

y1(x) = −cosx+x[ ]0x =1+x−cosx

y2(x)=y(x0) + f(x,y1(x)) dxx0

x

y2(x) = sin x + cos 1+ x − cos x( )[ ] dx0

x

y2(x) = sin x + cos 1+ x − cos x( )[ ] dx0

x

y2(x) ≅ sin x + cos 1+ x − (1− x2

2)

⎛ ⎝ ⎜

⎞ ⎠ ⎟

⎣ ⎢

⎦ ⎥ dx

0

x

y2(x) ≅ sin x + cos x + x2

2

⎛ ⎝ ⎜

⎞ ⎠ ⎟

⎣ ⎢

⎦ ⎥ dx

0

x

y2(x) ≅ sin x +1− x2

2− x

3

2

⎡ ⎣ ⎢

⎤ ⎦ ⎥ dx

0

x

y2(x)≅ −cosx+x−x3

6 −x4

8⎡ ⎣ ⎢ ⎢

⎤ ⎦ ⎥ ⎥

0

x

=1−cosx+x−x3

6 −x4

8

y3(x) =y(x0)+ f(x,y2(x)) dxx0

x

y3(x) = sin x + cos 1− cos x + x − x3

6− x

4

8

⎛ ⎝ ⎜

⎞ ⎠ ⎟

⎣ ⎢

⎦ ⎥ dx

0

x

y3(x) ≅ sin x + cos 1− (1− x2

2+ x

4

24) + x − x

3

6− x

4

8

⎛ ⎝ ⎜

⎞ ⎠ ⎟

⎣ ⎢

⎦ ⎥ dx

0

x

y3(x) ≅ sin x + cos x + x2

2− x

3

6− x

4

6

⎛ ⎝ ⎜

⎞ ⎠ ⎟

⎣ ⎢

⎦ ⎥ dx

0

x

y3(x) ≅ sin x +1−x + x

2

2− x

3

6− x

4

6

⎛ ⎝ ⎜

⎞ ⎠ ⎟2

2+x + x

2

2− x

3

6− x

4

6

⎛ ⎝ ⎜

⎞ ⎠ ⎟4

24

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

dx0

x

y3(x) ≅ sin x +1− x2

2− x

3

2+ x

4

12

⎛ ⎝ ⎜

⎞ ⎠ ⎟ dx

0

x

y3(x) ≅ −cosx+x−x3

6 −x4

8 +x5

60⎡ ⎣ ⎢ ⎢

⎤ ⎦ ⎥ ⎥

0

x

y3(x) ≅1−cosx+x−x3

6 −x4

8 +x5

60

Erabili Picard-en metodoa hurrengo problemarekin:

y1(x) =y(x0) + f(x,y0(x)) dxx0

x

dydx

=2x+y ; y(0) =1

y1(x) =1+ 2x+1( ) dx0

x

∫ =1+x+x2

y2(x)=y(x0) + f(x,y1(x)) dxx0

x

∫y2(x)=1+ 2x+ 1+x+x2( )[ ] dx

0

x

y2(x)=1+ 1+3x+x2( ) dx0

x

∫ =1+x+3x2

2 +x3

3

y3(x) =1+ 2x+ 1+x+3x2

2 +x3

3⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟

⎡ ⎣ ⎢ ⎢

⎤ ⎦ ⎥ ⎥ dx0

x

y3(x) =1+ 1+3x+3x2

2 +x3

3⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟ dx

0

x

∫y3(x) =1+x+3x2

2 +x3

2 + x4

4×3

y4(x)=1+ 2x+ 1+x+3x2

2 +x3

2 + x4

4×3⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟

⎡ ⎣ ⎢ ⎢

⎤ ⎦ ⎥ ⎥ dx0

x

y4(x)=1+x+3x2

2 +x3

2 + x4

4×2 + x5

5×4×3

Erabili Picard-en metodoa hurrengo problemarekin:

y1(x) =y(x0) + f(x,y0(x)) dxx0

x

dydx

=x2 +y2 ; y(0) =1

y1(x) =1+ x2 +1( ) dx0

x

∫ =1+x+x3

3y2(x)=y(x0) + f(x,y1(x)) dx

x0

x

∫y2(x)=1+ x2 + 1+x+x3

3⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟

2⎡

⎣ ⎢ ⎢

⎦ ⎥ ⎥ dx

0

x

y2(x)=1+ 1+2x+2x2 +2x3

3 +2x4

3 +x6

9⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟ dx

0

x

∫y2(x)=1+x+x2 +2x3

3 +x4

6 +2x5

15 +x7

63

y3(x) =1+ x2 + 1+x+x2 +2x3

3 +x4

6 +2x5

15 +x7

63⎛ ⎝ ⎜ ⎜

⎞ ⎠ ⎟ ⎟

2⎡

⎣ ⎢ ⎢

⎦ ⎥ ⎥ dx

0

x

y3(x) =1+ (1+2x+4x2 +10x3

3 +8x4

3 +29x5

15 +47x6

45 + 0

x

∫+164x7

315 +299x8

1260+8x9

105+184x10

4725+x11

189+4x12

945+ x14

3969) dx

y3(x) =1+x+x2 +4x3

3 +5x4

6 +8x5

15 +29x6

90 +47x7

315 +

+41x8

630+299x9

11340+4x10

525+184x11

51975+x12

2268+4x13

12285+x15

59535

Runge-Kutta-ren metodoa (laugarren ordenakoa):

Runge-Kutta izeneko metodoak dira algoritmoak kalkulatzeko numerikoki hurrengo problemaren soluzioaren hurbilketak:

dydx

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

hurrengo erako puntuetan:

x1 = x0 + h ; x2 = x1 + h ; etab.

zehaztasun handiz, nahiz eta horretarako h -ren balioek ez duten zertan txikiak izan.

Prozedura honetan datza:

Soluzioaren balio hurbildua, y1, kalkulatzekox1 = x0 + h, puntuan,hurrengo balioak kalkulatu behar dira:

k1 =h f (x0,y0)k2 =h f (x0 +h

2,y0 +k12)

k3 =h f(x0 +h2,y0 +k2

2 )

k4 =h f (x0 +h,y0 +k3)

K0 =16(k1 +2k2 +2k3 +k4)

eta, orduan, soluzio hurbildua honela emanda dago:

y1 =y0 +K0

Era berean arituz gero, kalkulatuko genuke soluzioaren balio hurbildua, y2, hurrengo puntuan, x2 = x1 + h:

k1 =h f (x1,y1)k2 =h f (x1 +h

2,y1 +k12)

k3 =h f(x1 +h2,y1 +k2

2)

k4 =h f (x1 +h,y1 +k3)

K0 =16(k1 +2k2 +2k3 +k4)

y2 =y1 +K0

eta horrela n-garren puntuan, xn = xn-1 + h:

k1 =h f (xn−1,yn−1)k2 =h f (xn−1 +h

2,yn−1 +k12)

k3 =h f(xn−1 +h2,yn−1 +k2

2)

k4 =h f (xn−1 +h,yn−1 +k3)

K0 =16(k1 +2k2 +2k3 +k4)

yn =yn−1 +K0

Erabili Runge-Kutta-ren metodoa hurrengo problemarekin kalkulatzekosoluzio hurbilduak x = 0.2 eta x =0.4 puntuetan:

dydx

=2x+y ; y(0) =1h = 0.2:

k1 =h f (x0,y0)k2 =h f (x0 +h

2,y0 +k12)

=0.2 (2×0+1)=0.2=0.2 f (0+0.1, 1+0.1)

k2 =0.2 2×0.1+1.1( )=0.26k3 =h f(x0 +h

2,y0 +k22 ) =0.2 f (0.1, 1.13)

k3 =0.2 2×0.1+1.13( )=0.266

x1 =x0 +h=0+0.2=0.2

k4 =h f (x0 +h,y0 +k3)=0.2 f (0.2, 1.266)k4 =0.2 2×0.2+1.266( )=0.3332

K0 =16(k1 +2k2 +2k3 +k4) =0.2642

y1 =y0 +K0 =1.2642x2 =x1 +h=0.2+0.2=0.4

k1 =h f (x1,y1) =0.2 (2×0.2+1.2642)=0.33284

k2 =h f (x1 +h2,y1 +k1

2)=0.2 f (0.3, 1.43062) =0.40612

k3 =h f(x1 +h2,y1 +k2

2)=0.2 f (0.3, 1.46726) =0.41345

k4 =h f (x1 +h,y1 +k3)=0.2 f (0.4, 1.67765) =0.49553

K0 =16(k1 +2k2 +2k3 +k4) =0.41125

y2 =y1 +K0 =1.2642+0.41125=1.67545

dydx

=x2 +y2 ; y(0) =1

Erabili Runge-Kutta-ren metodoa hurrengo problemarekin kalkulatzekosoluzio hurbilduak x = 0.1 eta x =0.2 puntuetan:

h = 0.1:

k1 =h f (x0,y0)k2 =h f (x0 +h

2,y0 +k12)

=0.1f (0,1) =0.1 (02 +12) =0.1=0.1 f(0.05, 1.05)

k2 =0.1 0.052 +1.052( )=0.1105k3 =h f(x0 +h

2,y0 +k22 )=0.1 f(0.05, 1.05525)

x1 =x0 +h=0+0.1=0.1

k3 =0.1116052

k4 =h f (x0 +h,y0 +k3) =0.1 f(0.1, 1.1116052)k4 =0.1 (0.12 +1.11160522) =0.1245666

K0 =16(k1 +2k2 +2k3 +k4) =0.1114628

y1 =y0 +K0 ≅1.1115x2 =x1 +h=0.1+0.1=0.2

k1 =h f (x1,y1) =0.1 (0.12 +1.11152) =0.1245432

k2 =h f (x1 +h2,y1 +k1

2)=0.1 f(0.15, 1.1737716) =0.1400239

k3 =h f(x1 +h2,y1 +k2

2)=0.1 f(0.15, 1.181512) =0.141847

k4 =h f (x1 +h,y1 +k3)=0.1f (0.2, 1.2533471) =0.1610878

K0 =16(k1 +2k2 +2k3 +k4) =0.1415621

y2 =y1 +K0 ≅1.2531

top related