Upload
alex-paucar-mateo
View
217
Download
0
Embed Size (px)
Citation preview
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
1/11
25.10 Solucione n
f
ormanumrica el
poblema
siguienle,
de t
=
o a3i
dy
dt
Utilice
el
mtodo
de n(
['orma analtica:
=-y+
y(0)=
1
de
tercer
ordera,
con un tamao de
paso
de o. 5.
*=
-t*r
dy=(-y+tz).rt
bt-tz)dt+dy=o
M=y-t,
u
=
r;i=
o
dM dN
dy
dt
Factor integraDte
dM dN
dlnu
dy dt
dt
dlnu
N
1-O
dtt
dlnu
=
dt
I
or--=l o,
JJ
lnu
=
tlne
Multiplicamos
por
el factor
iDtegrante:
l(y
-
tz).rt
+
dy
=
ol* et
btet
-
t2
et).rt
+
etd.y
=
o
Pilligua Menndez
I-ider Eduardo
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
2/11
dN
dt
*
2tdt
I
o..
J
t
dt
dM
dy
Io"=
u
du
ye'-
t"e'i-= e'
",,#
=
"
oJ=
"
-
rz.
dl=.r
rlr
'
dy
.rf
dy
I
or=l
o"
J J'
F=yet+7:(t)
df
da-:-
=
yet
+'r'(t)
=
Mf
(x,y)
yet
+
7:'(t)
=
yet
-
t2et
dT
dt
I
ar=-l t'at
JJ
Integracin
por parte
r=-tze,+zlte,t
Integracin
por parte
I-ider Eduardo
illigua Menndez
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
3/11
Io"=
[*o,
T
=
-tzer
+zte'-zl
e'at
,J
T=-tzer+Zter-zet+c
-yer
=
-tzer
+
Zter
-zer
+
C
Condicin
iricial:
Y(o)
=
r
-(t)eo
= -(o)zeo
+
z(o)eo
-zeo
+
c
-yer
=
-tzer
+
Zter
-zer
+a
yer
=
tzer
-zter
+zer
-
l
Y=t'-zt+2-"'
Verifica
el esultado en MATLAB :
>>
y
=
dsolve
(
'Dy=-y+r"2'
,
'y
(0
)
=1'
,
'r'
)
t^2
-
exp(-t)
-2*L+2
Para
oncontrar
las
soluciones verdaderas
en MATLAB
>>
format long
>>
syms t
>>
y
=
L"2-2*L+2-exp
(-t)
;
>>
t=1nl1ne
(y)
;
Resuftados:
>>
r(0)
1
>>
r(0.5)
Pilligua Menndez Lide Eduardo
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
4/11
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
5/11
Para
graficar
en MATLAB:
>>
syms
t
>>
fplot('t"2-2*t+2-exp(-t)
',
t0
31,'r')
>>
qrid
on
RK de
tercer orden
Cor
f(o,1)
K1=
f
(xi,Yi\
f(o,t\=-r+02
Kt=
-a
,11\
Kz=
f
\x+rh,yt+rK)
,1
1
Kz
r(o
+ito.sl,r +it-rlto.sl)
K2
=
f
(o.25,O.7
5\
f
(o.zs,o.
7 s\
=
-o.
7 s
+
(o.zs\2
Kz
=
-O.6A75
Kz=
f(x
+
h,yi
-
K1h+ZKzh\
(3
=
f(o
+
o.
s,1-
(-1Xo.s)
+
2(-o.687sxo.s))
['orma numricr:
Pilligua Menndez Lide Eduardo
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
6/11
(3
=
f(o.
5, o.812 5)
f(o.
5, o.8125)
=
-o.
8125
+
(o.
s)'z
K:
=
-O.5625
1
yr*,
=
y
*
(Kt
+
4K2
+
K3)h
yos
=
t
+:Ct +
4(-o.6s7s)
+
(-o.
s6zs))(o. s)
Yos
=
o.640625
Con
f(O.
5, O.
64062
5)
Kt
=
f
(x,y)
f
(o.
5,
o.
640625)
=
-o.
640625
+
(o.
s)'z
Kt
=
-O.39O625
x,=
f
(,,+f,n,t,+f,x,n)
x,
=
(o.s
+f,o.s),o.64o62s +;l_o.3e06zs)(o.
s))
K2
= f
(o.
7
s,
o.
s429
6A7
S
)
f
(o.
7
s, o.
s429687
S
)
=
-O.
5429687
5
+
(O.
75)'z
Kz
=
0.01953125
Kz=
f(x
+
h,yi
-
K1h+2Kzh)
h
=
f(o
S+0.5,0.640625
(
0.390625)(0.5)+2(0.01953125)(0.5))
(1
=
f(1,
o.
85546875)
f(1,
o.
85546875)
=
-o.
85546875
+
(1)'z
K3
=
o.14453125
1
yr*,
=
y
*
(Kt
+
4Kz
+
K3)h
1
yl
=
o.640625
+;(
0.390625
+a(0.01953125) +
(0.14453125))(0.5)
y1
=
O.6266276lJ42
Pilligua Menndez Lider Eduado
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
7/11
Coa
f
(1-,
o.
626627
60
42)
Kt
=
f
(x,y)
f
(1,
o. 626627 6042)
=
-o.
626627 60
42
+
(r)2
K1
=
0.373372395A
x,=
f
(,,+f,n,t,+f,x,n)
x,
=
(r
+lro.
sl,o.6266276r,42
*
|io.
r rrr
rrrr ru)io. ,))
K2
=
f
(1.2
s,
o. 7199
7 07
O32
)
f
(1.
2 S, o. 7 199
7
07
o32
)
=
-o.
7 199
7
07 o32
+
(1.
2
S)2
Kz
=
O.A42529296A
Kz=
f(x
+
h,yi
-
K1h+2Kzh)
&=
(7
+
O.5,O.626627
6042
(O.37
337239 58)
(0.
5)
+
2
(0.
842
5292968)(0.
5
K3
=
f(1.
s,1.2a247o7o3)
f
(1.
S, 1.
282470703)
=
-1.
2s2470703
+
(1.
5)'z
K3
=
0.967
529297
1
yr*,
=
y
*
;(Kt
+
4Kz
+
K3)h
y
I
s
o.h2hh27ho42,
If
o.rrrrrrrr5s
I
4(0.842s292968)
I
(0.967s29297))(0.s)
Y1s
=
l.Ol92l25ll
Coa
f
(1.
S, t.
019212 511)
Kt
= f
(x,y)
f(1.
S, t.otgztzstt)
=
-1..ot92t2st1
+
(1.s)'z
K1
=
1.23lJ747449
x,=
f
(,,*f,o,",*f,*,o)
x,
=
(r.s
+
f,o.
s),t.o:.sz:rzs:.:.
+L(1.
z3o7s74se)
(o.
s))
K2
=
f(1.7
s,1.3269O93A3
)
Pilligua Menndez Lider Eduado
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
8/11
f
(1.
7
S, 1. 3269093s3
)
=
-r.
326909383
+
(1.
75)'z
Kz
=
1.735590617
Kz=
f(x
+
h,yi
-
K1h+2Kzh)
I(3
=
f
(1.
5
+
0.
5,
1. 01
s272
577
(7.2307
A7489)(0. 5)
+
2(1. 735590617)(0.
5
K1
=
f
(2,2.
139
4O93A4)
f
(2,
2. 139 409384)
=
-2.
139 409384
+
(2)2
(3
=
1.460590616
1
yr*,
=
y
*
(Kt
+
4K2
+
K3)h
1.
yz
=
7.O7s272577
+
-i(7.nO7A7
4As
+
4(7.735590617)
+
(1.860590616(0.
5)
/z
=
1.4553
57559
Con
f(2,1.
8553 57559)
Kt
=
f
(x,y)
f(2,1.
855357559)
=
-1.855357559
+
(z)'z
K1
= 2.144642441
x,=
f
(,,+ n,t,+ x,n)
x,=
(z
+Lo.
s,1.
ass3
sTsse
*Lr.rnnun
nnrlo. s)
K2
=
f(2.25,2.39151A169
)
f
(2.
2 S, 2. 39 tststg
)
=
-2.
39
rsrs,.g
+
(2.
2 S)2
Kz
=
2.67lJ9AlA3l
Kz=
f(x
+
h,yi
-
K1h+2Kzh)
&= (2
+
o.5,7.855357
SSs
(2.744642441)(0.
5)
+
2(2.670981831)(0.5))
K3
=
f(2.5,3.4S4OtAt7)
f(2.5,3.4s4otst7)
=
-3.4S4o,.st7
+
(2.
S)2
K3
=
2.7959a1a3
Pilligua Menndez Lider Eduado
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
9/11
1
yr*,
=
y
*
(Kt
+
4K2
+
K3)h
1.
yzs
=
7.ass3s7
sss
+;(2.744642447 +
4(2.67
osa7a37)
+
(2.7ss98183 (0.
5)
lzs
=
3.1574O3525
Coa
f
(2.
5,3.
1.57
4o3 Sz
S)
Kt
=
f
(x,y)
f
(2.
5,3.
tS7 403525)
=
-3.
157403525
+
(2.
s)'z
K1
=
3.092596475
x,=
f
(,,+f,n,t,+f,x,n)
x,
=
(2.
z
s
+
L
o.
s), 3.
1s7403szs
+
1ir.
orrsrunrs;o.
s;)
K2
=
f(2.7
5,3.930552644
)
f
(2.
7
S, 3.930552644
)
=
-3.
930552
644
+
(2.
7
5)2
Kz
=
3.631947356
Kz=
f(x
+
h,yi
-
K1h+2Kzh)
Kr=
(2.5
+
o.5,3.7574o3525
(3.os25s647
5)(0. 5)
+
2(3.631947356X0.5
K1
=
f
(3,
5.2 43O
526
4 4)
f
(3,
5.
243052644)
=
-
S. 243052644
+
(3)2
K3
=
3.7 56947356
1
yr*,
=
y
*
;(Kt
+
4Kz
+
K3)h
1.
yz
=
3.7s7aBszs
+
i(3.os2ss647
s
+
4(3.637s47 3s6)
+
(3.7
s6s473
56(0.5)
y3
=
4.934447963
Pilligua Menndez Lider Eduado
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
10/11
Tabla de resultados con su error verdadero
Programacin
en
MATLAB
:Mtodo
Runge Kutta de
3er orden
clf
v:1;
t:0;
h:0.5;
iter=
(tma
t)
/h;
".Clcuto
de las constantes de Runge kutta
r1:
y +lt^2);
K2:
ly+
lKt/2)
a]n)
+
lt+
ltr) / 12) ) ^2;
K3:
(y (K1*h)+ (2*K2rh)
)+
(t+h)
^2;
y=y+
(
(Kl+
(4
*K2
)
+K3)
/6)
rh;
vectory=[vectory,y];
vectort=[vectort,t];
subplot
(1.1.1)
;
t
v
Eo
o
7
Oo/
o.s
o.6411625
o.
442lJ31943
40/
7
o_ 6266276l)42
o.46497262740/
1.
S
7.O79272577
o.74569614910/
2 1. ass3
s7ss9
o.499133lJ4410/
2.5 3.7574ll3525
o.331A105559%
3
4_934447963
o.2295A544990/
Pilligua Menndez Lider Eduado
7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB
11/11
plot
(wectort.
wectoty,
'
r
*')i
title('Mtodo Runge kutta Tercer orden')
xlabel
('valores
t');
ylabel ('valores y')
;
ResItrdos
cr
MATI,AB
1.000000000000000
o
.
626627 604766667
1
.
855357558638961
4
-
934447963027503
o
-
640625000000000
1- O192
.2
510a50
694
3 _
157O3525011039
0
1.000000000000000
2.000000000000000
3
-
OOOOOOOOOOOOOOO
0. 500000000000000
I
-
500000000000000
2 _ 500000000000000
Grlico
de
la
progrrmacin:
Pilligua Menndez Lide Eduardo