Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EJERCICIO 7.21
Utilice el método de Taylor (elija el orden) para resolver los siguientes problemas
de valor inicial (PVI) y compare con las soluciones analíticas:
dy
a) =ln (x ), y (1)=3, y (2)=? con h=0.2
dx
MÉTODO DE TAYLOR
h2 df (x , y ) (1)
y n+ 1= y n +hf ( x n , y n ) +
2! dx |x n , yn
En donde:
df ( x , y ) ∂ f (x , y) ∂ f (x , y ) dy
= + (2)
dx ∂x ∂y dx
Paso:
x f −x 0
h= ( 3)
n
n: # de intervalos
SOLUCIÓN
Desarrollando ecuación (2):
df ( x , y ) 1 1
= +0=
dx x x
Reemplazando valores en ecuación (3):
2−1
h= =0.2
n
n=5
Valores de x:
x 0=1
x 2=x 1+ h=1.2+0.2=1.4
x 4 =x3 +h=1.6+0.2=1.8
x 5=x 4 +h=1.8+0.2=2
Entonces:
1
Universidad Nacional de Trujillo Métodos Numéricos
h2 1
Para n=0 y 1= y 0 +hf ( x 0 , y 0 ) + ( )
2 x0
0.22 1
y 1=3+ 0.2∗ln ( 1 ) + ()
2 1
=3.02
Para n=1
h2 1
y 2= y 1 +hf ( x 1 , y 1 ) +( )
2 x1
0.22 1
y 2=3.02+0.2∗ln ( 1.2 ) + ( )
2 1.2
=3.073
Solución numérica:
Yn( x=2)=3.38988
Error relativo porcentual:
|Ya−Yn|
ERP= ∗100
Ya
ERP=0.10573
Código en Matlab:
function f=e21(x,y)
f(1)=log(x);
2
Universidad Nacional de Trujillo Métodos Numéricos
disp('----------------------------------------------------------------
--------------------------------------')
disp(' SOLUCIÓN : ')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' ')
fprintf('\n\n\n\t\t\t\t\t MÉTODO DE TAYLOR\n')
fprintf('\t\t\t\t\t====================')
disp(' ')
fprintf('\t\t\t\t------------------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t------------------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i, x(1), y(1))
for i=1:5
y(i+1)=y(i)+h*log(x(i))+h^2*(1/x(i))/2;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i, x(i+1), y(i+1))
end
fprintf('\t\t\t\t------------------------------------\n')
xanalitico=3.3863;
fprintf('\n\t\t\tSolución analítica: %8.5f',xanalitico)
EA=abs(y(6)-xanalitico);
fprintf('\n\t\t\tError absoluto: %8.5f\n',EA)
ERP=EA/xanalitico*100;
fprintf('\t\t\tError relativo porcentual: %8.5f\n',ERP)
plot(x,y,'ro-')
axis([0.8 2.1 2.8 3.5])
xlabel('x')
ylabel('y')
title('MÉTODO DE TAYLOR')
grid
text(1,3.1,'Método de Taylor')
pause(10)
xx=1:0.001:2;
[T,Y]=ode23('e21',xx,3);
hold on
plot(T,Y,'b')
text(1.2,2.98,'Solución ode23')
RESULTADOS
3
Universidad Nacional de Trujillo Métodos Numéricos
MÉTODO DE EULER:
disp('PARTE (a) ')
x0=1; y0=3; h=0.2;
x(1)=x0; y(1)=y0;
fprintf('\n\t\t\t\t dy/dx = ln x')
fprintf('\n\t\t\t\t y(1)= 3')
fprintf('\n\t\t\t\t y(2)=?')
fprintf('\n\t\t\t\t h = 0.2')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' SOLUCIÓN :
')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' ')
fprintf('\n\n\n\t\t\t\t\t MÉTODO DE EULER\n')
fprintf('\t\t\t\t\t====================')
disp(' ')
fprintf('\t\t\t\t------------------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t------------------------------------\n')
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i, x(1), y(1))
for i=1:5
y(i+1)=y(i)+h*log(x(i));
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i, x(i+1), y(i+1))
end
fprintf('\t\t\t\t------------------------------------\n')
yanalitico=3.3863;
fprintf('\n\t\t\tSolución analítica: %8.5f',yanalitico)
4
Universidad Nacional de Trujillo Métodos Numéricos
EA=abs(y(i+1)-yanalitico);
fprintf('\n\t\t\tError absoluto: %8.5f\n',EA)
ERP=EA/yanalitico*100;
fprintf('\t\t\tError relativo porcentual: %5.2f\n',ERP)
plot(x,y,'ro-')
axis([0.8 2.6 2.8 3.5])
xlabel('x')
ylabel('y')
title('MÉTODO DE EULER')
grid
text(1,3.1,'Método de Euler')
pause(10)
xx=1:0.001:2;
[T,Y]=ode23('e21',xx,3);
hold on
plot(T,Y,'b')
text(1.2,2.98,'Solución ode23')
text(2.05,3.39,'----------')
text(2.05,3.35,'Error')
text(2.05,3.32,'----------')
RESULTADOS
MÉTODO DE RUNGE-KUTTA:
5
Universidad Nacional de Trujillo Métodos Numéricos
*CÓDIGO MATLAB
disp('PARTE (a) ')
x0=1; y0=3; h=0.2;
x(1)=x0; y(1)=y0;
fprintf('\n\t\t\t\t dy/dx = ln x')
fprintf('\n\t\t\t\t y(1)= 3')
fprintf('\n\t\t\t\t y(2)=?')
fprintf('\n\t\t\t\t h = 0.2')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' SOLUCIÓN :
')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' ')
fprintf('\n\n\n\t\t\t MÉTODO DE RUNGE-KUTTA\n')
fprintf('\t\t\t\t =======================')
disp(' ')
fprintf('\t\t\t\t------------------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t------------------------------------\n')
format long
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i, x(1), y(1))
for i=1:5
k(i)=log(x(i));
k(i+1)=log(x(i)+h/2);
k(i+2)=log(x(i)+h/2);
k(i+3)=log(x(i)+h);
y(i+1)=y(i)+h*(k(i)+2*k(i+1)+2*k(i+2)+k(i+3))/6;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i, x(i+1), y(i+1))
end
fprintf('\t\t\t\t------------------------------------\n')
xanalitico=3.3863;
fprintf('\n\t\t\tSolución analítica: %8.5f',xanalitico)
EA=abs(y(6)-xanalitico);
fprintf('\n\t\t\tError absoluto: %8.5f\n',EA)
ERP=EA/xanalitico*100;
fprintf('\t\t\tError relativo porcentual: %8.5f\n',ERP)
plot(x,y,'ro-')
axis([0.8 2.1 2.8 3.5])
xlabel('x')
ylabel('y')
title('MÉTODO DE RUNGE-KUTTA (RK-4)')
grid
text(1,3.1,'Método de Runge-Kutta')
pause(10)
xx=1:0.001:2;
[T,Y]=ode45('e21',xx,3);
hold on
plot(T,Y,'b')
text(1.2,2.98,'Solución ode45')
RESULTADOS
6
Universidad Nacional de Trujillo Métodos Numéricos
7
Universidad Nacional de Trujillo Métodos Numéricos
8
Universidad Nacional de Trujillo Métodos Numéricos
dy
b) = y 2, y (0)=1, y (0.5)=? con h=0.1
dx
MÉTODO DE TAYLOR
Desarrollando ecuación (2):
df ( x , y )
=0+2∗y ( y2 ) =2∗y 3
dx
Reemplazando valores en ecuación (3):
0.5−0
h= =0.1
n
n=5
Valores de x:
x 0=0
x 1=x 0+ h=0+0.1=0.1
x 4 =x3 +h=0.3+0.1=0.4
Entonces:
h2 3
Para n=0 y 1= y 0 +hf ( x 0 , y 0 ) + ∗2∗y 0
2
2 0.12 3
y 1=1+0.1∗1 + ∗2∗1 =1.11
2
Para n=1
h2 3
y 2= y 1 +hf ( x 1 , y 1 ) + ∗2∗y 1
2
2 0.12 3
y 2=1.11+ 0.1∗1.11 + ∗2∗1.11 =1.2469
2
9
Universidad Nacional de Trujillo Métodos Numéricos
.
.
Solución analítica:
Ya ( x=0.5 )=1.9998
Solución numérica:
Yn( x=0.5)=1.97087
Error relativo porcentual:
|Ya−Yn|
ERP= ∗100
Ya
ERP=1.44669
Código en Matlab:
function f=e21b(x,y)
f(1)=y^2;
10
Universidad Nacional de Trujillo Métodos Numéricos
title('MÉTODO DE TAYLOR')
grid
text(0.02,1.3,'Método de Taylor');
pause(10)
xx=0:0.001:0.5;
[T,Y]=ode23('e21b',xx,1);
hold on
plot(T,Y,'b')
text(0.1,1,'Solución ode23')
RESULTADOS
MÉTODO DE EULER:
disp('PARTE (b) ')
x0=0; y0=1; h=0.1;
11
Universidad Nacional de Trujillo Métodos Numéricos
x(1)=x0; y(1)=y0;
fprintf('\n\t\t\t\t dy/dx = y^2')
fprintf('\n\t\t\t\t y(0)= 1')
fprintf('\n\t\t\t\t y(0.5)=?')
fprintf('\n\t\t\t\t h = 0.1')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' SOLUCIÓN :
')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' ')
fprintf('\n\n\n\t\t\t\t\t MÉTODO DE EULER\n')
fprintf('\t\t\t\t\t====================')
disp(' ')
fprintf('\t\t\t\t------------------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t------------------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i, x(1), y(1))
for i=1:5
y(i+1)=y(i)+h*(y(i))^2;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i, x(i+1), y(i+1))
end
fprintf('\t\t\t\t------------------------------------\n')
yanalitico=1.9998;
fprintf('\n\t\t\tSolución analítica: %8.5f',yanalitico)
EA=abs(y(i+1)-yanalitico);
fprintf('\n\t\t\tError absoluto: %8.5f\n',EA)
ERP=EA/yanalitico*100;
fprintf('\t\t\tError relativo porcentual: %5.2f\n',ERP)
plot(x,y,'ro-')
axis([-0.09 0.6 0.5 3])
xlabel('x')
ylabel('y')
title('MÉTODO DE EULER')
grid
text(0.02,1.3,'Método de Euler')
pause(10)
xx=0:0.001:0.5;
[T,Y]=ode23('e21b',xx,1);
hold on
plot(T,Y,'b')
text(0.1,1,'Solución ode23')
text(0.51,2,'----------')
text(0.51,1.91,'Error')
text(0.51,1.81,'----------')
RESULTADOS
12
Universidad Nacional de Trujillo Métodos Numéricos
MÉTODO DE RUNGE-KUTTA:
*CÓDIGO MATLAB
disp('PARTE (b) ')
x0=0; y0=1; h=0.1;
x(1)=x0; y(1)=y0;
fprintf('\n\t\t\t\t dy/dx = y^2')
fprintf('\n\t\t\t\t y(0)= 1')
fprintf('\n\t\t\t\t y(0.5)=?')
fprintf('\n\t\t\t\t h = 0.1')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' SOLUCIÓN :
')
disp('----------------------------------------------------------------
--------------------------------------')
disp(' ')
fprintf('\n\n\n\t\t\t\t MÉTODO DE RUNGE-KUTTA\n')
fprintf('\t\t\t\t=======================')
disp(' ')
fprintf('\t\t\t\t------------------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t------------------------------------\n')
format long
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i, x(1), y(1))
for i=1:5
13
Universidad Nacional de Trujillo Métodos Numéricos
k(i)=(y(i))^2;
k(i+1)=(y(i)+h*k(i)/2)^2;
k(i+2)=(y(i)+h*k(i+1)/2)^2;
k(i+3)=(y(i)+h*k(i+2))^2;
y(i+1)=y(i)+h*(k(i)+2*k(i+1)+2*k(i+2)+k(i+3))/6;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i, x(i+1), y(i+1))
end
fprintf('\t\t\t\t------------------------------------\n')
xanalitico=1.9998;
fprintf('\n\t\t\tSolución analítica: %8.5f',xanalitico)
EA=abs(y(6)-xanalitico);
fprintf('\n\t\t\tError absoluto: %8.5f\n',EA)
ERP=EA/xanalitico*100;
fprintf('\t\t\tError relativo porcentual: %8.5f\n',ERP)
plot(x,y,'ro-')
axis([-0.09 0.6 0.5 3])
xlabel('x')
ylabel('y')
title('MÉTODO DE RUNGE-KUTTA (RK-4)')
grid
text(0.02,1.4,'Método de Runge-Kutta')
pause(10)
xx=0:0.001:0.5;
[T,Y]=ode45('e21b',xx,1);
hold on
plot(T,Y,'b')
text(0.1,1,'Solución ode45')
RESULTADOS
14
Universidad Nacional de Trujillo Métodos Numéricos
dy 2
c) dx =3 x , y (0)=0, y (1)=? con h=0.1
MÉTODO DE TAYLOR
SOLUCIÓN
Desarrollando ecuación (2):
df ( x , y ) 1
=6 x+ 0=
dx x
Reemplazando valores en ecuación (3):
1−0
h= =0.1
n
n=10
Valores de x:
x 0=0
x 1=x 0+ h=0.0+0.1=0.1
x 2=x 1+ h=0.1+ 0.1=0.2
x 3=x 2+ h=0.2+ 0.1=0.3
x 4 =x3 +h=0.3+0.1=0.4
x 5=x 4 +h=0.4+ 0.1=0.5
x 6=x 5 +h=0.5+0.1=0.6
x 7=x 6 +h=0.6+0.1=0.7
x 8=x 7 +h=0.7+0.1=0.8
x 9=x 8 +h=0.8+0.1=0.9
x 10=x 9+ h=0.9+ 0.1=1.0
Entonces:
h2
Para n=0 y 1= y 0 +hf ( x 0 , y 0 ) + (6 x0 )
2
2 0.12 (
y 1=0+ 0.1∗3∗0 + 6∗0 )=0.000
2
Para n=1
h2
y 2= y 1 +hf ( x 1 , y 1 ) + ( 6∗x 1 )
2
2 0.12 (
y 2=0.000+ 0.1∗3∗0.1 + 6∗0.1 )=0.00600
2
15
Universidad Nacional de Trujillo Métodos Numéricos
.
.
Solución analítica:
Ya ( x=2 ) =1.00
Solución numérica:
Yn( x=2)=0.990
Error relativo porcentual:
|Ya−Yn|
ERP= ∗100
Ya
ERP=1.00
Código en Matlab:
function f=e21c(x,y)
f(1)=3*x^2;
16
Universidad Nacional de Trujillo Métodos Numéricos
plot(T,Y,'b')
text(0.4,0.45,'Solucion ode23')
RESULTADOS
MÉTODO DE EULER:
Código en Matlab:
disp(' PARTE (c)')
17
Universidad Nacional de Trujillo Métodos Numéricos
RESULTADOS:
18
Universidad Nacional de Trujillo Métodos Numéricos
MÉTODO DE RUNGE-KUTTA:
*CÓDIGO MATLAB
disp(' PARTE (c)')
x0=0; y0=0; h=0.1;
x(1)=x0; y(1)=y0;
fprintf('\n\n\t\t\t\t Resulva el siguiente PVI')
fprintf('\n\t\t\t\t dy/dx=(x-y)')
fprintf('\n\t\t\t\t y(0)=2')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MÉTODO DE RUNGE-KUTTA (RK-4)\n')
fprintf('\t\t\t\t --------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t --------------------------\n')
format long
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i,x(1),y(1))
for i=1:10
k(i)=3*(x(i))^2;
k(i+1)=(3*((x(i))^2+h/2)+h*k(i)/2);
k(i+2)=(3*((x(i))^2+h/2)+h*k(i+1)/2);
k(i+3)=(3*((x(i))^2+h)+h*k(i+2));
y(i+1)=y(i)+h*(k(i)+2*k(i+1)+2*k(i+2)+k(i+3))/6;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i,x(i+1),y(i+1));
end
fprintf('\t\t\t\t --------------------------\n')
yanalitico=1.00;
fprintf('\n\t\t\t Solucion analitica :%8.5f', yanalitico)
19
Universidad Nacional de Trujillo Métodos Numéricos
EA=abs(y(i+1)-yanalitico);
fprintf('\n\t\t\t Error absoluto :%8.5f \n', EA)
ERP=EA/yanalitico*100;
fprintf('\t\t\t Error Relativo Porcentual :%8.5f \n', ERP)
plot(x,y,'ro-')
axis([-0.2 1.2 -0.2 1.2])
xlabel('x ---->')
ylabel('y ---->')
title('MÉTODO DE RUNGE-KUTTA (RK-4)')
grid
text(0.2,0.45, 'Método de Ronge-Kutta')
pause(3)
xx=0:0.001:1;
[T,Y]=ode45('e21c',xx,0);
hold on
plot(T,Y,'b')
text(0.65,0.1,'Solucion ode45')
RESULTADOS:
20
Universidad Nacional de Trujillo Métodos Numéricos
dy
d) dx =2 xy , y ( 1 )=0.5, y (2)=? con h=0.25
MÉTODO DE TAYLOR
Desarrollando ecuación (2):
df ( x , y )
=2 y+ 2 x (2 xy)=2 y (1+2 x 2)
dx
Reemplazando valores en ecuación (3):
2−1
h= =0.25
n
n=4
Valores de x:
x 0=1
x 4 =x3 +h=1.75+0.25=2.00
Entonces:
21
Universidad Nacional de Trujillo Métodos Numéricos
h2
Para n=0 y 1= y 0 +hf ( x 0 , y 0 ) +
2
(2 y 0 (1+2 x 20 ))
0.252
y 1=0.5+ 0.25∗2∗1∗0.5+ ( 2∗0.5∗( 1+2∗12 ) )=0.84375
2
Para n=1
h2
y 2= y 1 +hf ( x 1 , y 1 ) +
2
( 2 y 1 (1+2 x12))
0.25 2
y 2=0.84375+ 0.25∗2∗1.25∗0.84375+ ( 2∗0.84375∗( 1+2∗1.252 ) ) =1.58862
2
Solución numérica:
Yn( x=2)=7.71778
Error relativo porcentual:
|Ya−Yn|
ERP= ∗100
Ya
ERP=23.00
*CÓDIGO MATLAB
function f=e21d(x,y)
f(1)=2*x*y;
disp('PARTE (d)')
x0=1; y0=0.5; h=0.25;
x(1)=x0; y(1)=y0;
fprintf('\n\n\t\t\t\t Resulva el siguiente PVI')
fprintf('\n\t\t\t\t dy/dx=(x-y)')
fprintf('\n\t\t\t\t y(0)=2')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MÉTODO DE TAYLOR\n')
fprintf('\t\t\t\t -----------------------')
22
Universidad Nacional de Trujillo Métodos Numéricos
RESULTADOS:
23
Universidad Nacional de Trujillo Métodos Numéricos
MÉTODO DE EULER:
Código en Matlab:
disp('PARTE (d)')
x0=1; y0=0.5; h=0.25;
x(1)=x0; y(1)=y0;
fprintf('\n\n\t\t\t\t Resulva el siguiente PVI')
fprintf('\n\t\t\t\t dy/dx=2*x*y')
fprintf('\n\t\t\t\t y(1)=0.5')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\t\t\t\t h = 0.25')
fprintf('\n\n\t\t\t\t MÉTODO DE EULER\n')
fprintf('\t\t\t\t -----------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t -----------------------\n')
fprintf('\t\t\t\t %2d %5.2f %8.5f\n',i,x(1),y(1))
for i=1:4
y(i+1)=y(i)+h*(2*x(i)*y(i));
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %5.2f %8.5f\n',i,x(i+1),y(i+1));
end
fprintf('\t\t\t\t -----------------------\n')
yanalitico=10.02244;
fprintf('\n\t\t\t Solucion analitica :%8.5f', yanalitico)
EA=abs(y(i+1)-yanalitico);
fprintf('\n\t\t\t Error absoluto :%8.5f \n', EA)
ERP=EA/yanalitico*100;
fprintf('\t\t\t Error Relativo Porcentual :%8.2f \n', ERP)
plot(x,y,'ro-')
axis([0.9 2.2 0 10.5])
xlabel('x --->')
ylabel('y --->')
24
Universidad Nacional de Trujillo Métodos Numéricos
title('MÉTODO DE EULER')
grid
text(1.8,2, 'Método de euler')
pause(3)
xx=1:0.001:2;
[T,Y]=ode23('e21d',xx,0.5);
hold on
plot(T,Y,'b')
text(1.4,4.45,'Solucion ode23')
text(2.02,10,'-----------')
text(2.02,6.5,'Error')
text(2.02,4,'-----------')
RESULTADOS:
25
Universidad Nacional de Trujillo Métodos Numéricos
MÉTODO DE RUNGE-KUTTA:
*CÓDIGO MATLAB
disp('PARTE (d)')
x0=1; y0=0.5; h=0.25;
x(1)=x0; y(1)=y0;
fprintf('\n\n\t\t\t\t Resulva el siguiente PVI')
fprintf('\n\t\t\t\t dy/dx=(x-y)')
fprintf('\n\t\t\t\t y(0)=2')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MÉTODO DE RUNGE-KUTTA (RK-4)\n')
fprintf('\t\t\t\t --------------------------')
fprintf('\n\t\t\t\t i x(i) y(i)\n')
fprintf('\t\t\t\t --------------------------\n')
format long
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i,x(1),y(1))
for i=1:4
k(i)=2*(x(i)*y(i));
k(i+1)=(2*(x(i)+h/2)*(y(i)+h*k(i)/2));
k(i+2)=(2*((x(i))+h/2)*(y(i)+h*k(i+1)/2));
k(i+3)=(2*((x(i))+h)*(y(i)+h*k(i+2)));
y(i+1)=y(i)+h*(k(i)+2*k(i+1)+2*k(i+2)+k(i+3))/6;
x(i+1)=x(i)+h;
fprintf('\t\t\t\t %2d %6.1f %12.6f\n',i,x(i+1),y(i+1));
end
fprintf('\t\t\t\t --------------------------\n')
yanalitico=10.02244;
fprintf('\n\t\t\t Solucion analitica :%8.5f', yanalitico)
EA=abs(y(i+1)-yanalitico);
fprintf('\n\t\t\t Error absoluto :%8.5f \n', EA)
ERP=EA/yanalitico*100;
fprintf('\t\t\t Error Relativo Porcentual :%8.5f \n', ERP)
plot(x,y,'ro-')
axis([0.9 2.2 0 11])
xlabel('x ---->')
ylabel('y ---->')
title('MÉTODO DE RUNGE-KUTTA (RK-4)')
grid
text(1.3,5.45, 'Método de Ronge-Kutta')
pause(3)
xx=1:0.001:2;
[T,Y]=ode45('e21d',xx,0.5);
hold on
plot(T,Y,'b')
text(1.9,6.65,'Solucion ode45')
RESULTADOS:
26
Universidad Nacional de Trujillo Métodos Numéricos
27