1. ordenako ekuazio diferentzialak:
description
Transcript of 1. ordenako ekuazio diferentzialak:
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