Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Sean d1 , d2 , d3 , d4 , d5 , d6 los 6 primeros dı́gitos de su RUN. En mi caso 18.548.5XX-X , entonces
d1 = 1, d2 = 8, d3 = 5, d4 = 4, d5 = 8, d6 = 5. Considere la siguiente ecuación diferencial ordinaria o
PVI
dy
= A · eB·x − C · y
dx
y(0) = D
d4 +d5
donde A,B,C y D son constantes definidas como A = d1 +d2 +d3 , B = d1 +d2 +d3
,C = d1 +d2 +d3 +d4 +d5
y D = d3 + d4 + d5 + d6
1
Para calcular es necesario utilizar el factor integrante y su solución particular debido a que es No
homogénea y esta dada por Z R
R
− P (x)dx
Y =e e P (x)dx f (x)dx
en donde
P (x) = C
f (x) = AeB x
Reemplazando nos queda: Z
−Cx
y=e eCx AeBx dx
Aex(B+C)
y = e−Cx + c1
B+c
Resolviendo el PVI y(0) = 22 y reemplazando los datos para A, B, C y D nos queda
0( 76 +26)
−26(0) e
22 = 14e 6 + c1
7
+ 26
2019
c1 =
94
Aex(B+C) 2019
y = e−Cx +
B+c 94
x( 67 +26)
−26x 14e 2019
y= e 6 +
7
+ 26 94
2
2
Método de euler
Con h = 1/10
3
con h = 1/5
4
Taylor de orden 2
con h = 1/10
0.00000 22.00000 22.00000 0.00000
0.10000 38.80000 22.04665 16.75335
0.20000 68.67178 22.09748 46.57430
0.30000 121.80845 22.15285 99.65560
0.40000 216.35348 22.21319 194.14030
0.50000 384.60197 22.27892 362.32305
0.60000 684.03888 22.35053 661.68835
0.70000 1216.98713 22.42855 1194.55858
0.80000 2165.58113 22.51356 2143.06757
0.90000 3854.01974 22.60617 3831.41357
1.00000 6859.37651 22.70707 6836.66944
1.10000 12208.84188 22.81700 12186.02488
1.20000 21730.81431 22.93677 21707.87755
1.30000 38679.84254 23.06726 38656.77528
1.40000 68849.02265 23.20942 68825.81323
1.50000 122550.06508 23.36431 122526.70077
1.60000 218137.81363 23.53306 218114.28057
1.70000 388283.88952 23.71692 388260.17260
1.80000 691143.77762 23.91722 691119.86039
1.90000 1230234.24010 24.13546 1230210.10464
2.00000 2189815.11260 24.37322 2189790.73938
5
con h = 1/5
6
Runge-Kutta de orden 4
con h = 1/10
EA_RK4 = 21.447
A =
0.00000 22.00000 22.00000 0.00000
0.10000 16.77936 22.04665 5.26730
0.20000 12.85484 22.09748 9.24263
0.30000 9.90997 22.15285 12.24289
0.40000 7.70599 22.21319 14.50720
0.50000 6.06285 22.27892 16.21607
0.60000 4.84481 22.35053 17.50572
0.70000 3.94959 22.42855 18.47896
0.80000 3.30016 22.51356 19.21339
0.90000 2.83859 22.60617 19.76757
1.00000 2.52136 22.70707 20.18571
1.10000 2.31585 22.81700 20.50115
1.20000 2.19770 22.93677 20.73907
1.30000 2.14879 23.06726 20.91847
1.40000 2.15574 23.20942 21.05369
1.50000 2.20877 23.36431 21.15555
1.60000 2.30085 23.53306 21.23221
1.70000 2.42708 23.71692 21.28984
1.80000 2.58415 23.91722 21.33308
1.90000 2.77002 24.13546 21.36543
2.00000 2.98367 24.37322 21.38955
7
Figura 5: Representación gráfica tamaño de paso h = 1/10
8
con h = 1/5
EA_RK4 = 4.0050e+25
A =
9
3
euler
h=1/10 h=1/5
x numérico exacto numérico exacto
0 3139226053.70524 37.55102 6.2665e+13 3.7551e+01
1/10 -1957760906.486300 37.551018 -1.4888e+13 3.6231e+01
3/10 -760966249.58113 37.55102 3.5272e+12 3.6231e+01
Taylor de orden 2
h=1/10 h=1/5
x numérico exacto numérico exacto
0 2189815.11260 24.37322 1.0621e+11 2.4373e+01
1/10 1227561.997758 24.373220 1.1371e+10 2.4135e+01
3/10 385520.89042 24.37322 1214038802.56701 24.13546
h=1/10 h=1/5
x numérico exacto numérico exacto
0 16.13882 37.55102 4.0050e+25 3.7551e+01
1/10 16.138911 37.551018 2.4442e+24 3.6231e+01
3/10 16.13919 37.55102 1.4875e+23 3.6231e+01
10
4
Euler
11
Taylor de orden 2
12
5
Error asociado a los métodos utilizados
Figura 13: Tabla errores asociados a los métodos con h = 1/10 y h = 1/5
13
Anexo de programas .m en octave
euler
function A=euler(x0,xM,y0,h)
# METODO DE EULER.
# Condicion Inicial:y(x0)=y0.
# Intervalo de Solucion: [x0,xM].
# Tama~no de Paso: 0<h<1.
# A: matriz de 4 columnas:
# Columna 1: elementos de la particion del intervalo [x0,xM].
# Columna 2: aproximacion de Euler yi aprox y(xi).
# Columna 3: solucion exacta evaluada en la entrada xi de la particion.
# Columna 4: error absoluto de la aproximacion yi.
# AUTOR: EMILIO CARIAGA L., 24 MAYO 2017. OCTAVE 4.0.0. (2015).
# Revisión (E.Cariaga): miércoles 3 de junio 2020.
%
% Especifica partición del intervalo: [x0,xM].
par=x0:h:xM;
m=max(size(par));
# Llenado columnas 1 (partición) y 3 (solución exacta evaluada en partición).
for i=1:1:m
A(i,1)=par(i);
A(i,3)=exacta(par(i));
endfor
# Formula de Euler. Llena columna 2 (aproximaciones de Euler).
A(1,2)=y0;
for i=2:1:m
A(i,2)=A(i-1,2)+h*f(A(i-1,1),A(i-1,2));
endfor
# Error Absoluto (aprox Euler-Exacta). Llena columna 4.
for i=1:1:m
A(i,4)=abs(A(i,2)-A(i,3));
endfor
#
EA_euler=max(A(:,4))
# Graficos:
subplot(2,1,1)
plot(A(:,1),A(:,2),’--’,A(:,1),A(:,3),’-’);
xlabel(’Partición (A(:,1))’)
ylabel(’y_euler A(:,2) & y_exacta A(:,3)’)
grid on
% Error Absoluto.
subplot(2,1,2)
plot(A(:,1),A(:,4),’o’)
xlabel(’Partición (A(:,1))’)
ylabel(’A(:,4): |y_euler-y_exacta|’)
14
grid on
#
endfunction
#
# FUNCIONES AUXILIARES
# Funcion Pendiente:
function dy=f(x,y)
A=14;
B=6/7;
C=26;
dy=A*exp(B*x)-(C*y);
endfunction
#
# Solucion Exacta:
function y=exacta(x)
A=14;
B=6/7;
C=26;
y=(((A*exp(-C*x))*(exp(x*(B+C))))/(B+C))+(2019/94);
endfunction
Taylor de orden 2
function A=Taylor2(x0,xM,y0,h)
# METODO DE TAYLOR DE ORDEN 2.
# Condicion Inicial:y(x0)=y0.
# Intervalo de Solucion: [x0,xM].
# Tama~no de Paso: 0<h<1.
# A: matriz de 4 columnas:
# Columna 1: elementos de la particion del intervalo [x0,xM].
# Columna 2: aproximacion de Taylor-2 yi aprox y(xi).
# Columna 3: solucion exacta evaluada en la entrada xi de la particion.
# Columna 4: error absoluto de la aproximacion yi.
# AUTOR: EMILIO CARIAGA L. 3-JUNIO-2020. OCTAVE 4.2.2 (2018).
%
% Especifica partición del intervalo: [x0,xM].
par=x0:h:xM;
m=max(size(par));
# Llenado columnas 1 (partición) y 3 (solución exacta evaluada en partición).
for i=1:1:m
A(i,1)=par(i);
A(i,3)=exacta(par(i));
endfor
# Formula de Taylor-2. Llena columna 2 (aproximaciones de Taylor-2).
A(1,2)=y0;
for i=2:1:m
F1=f(A(i-1,1),A(i-1,2));
15
F2=fx(A(i-1,1),A(i-1,2))+fy(A(i-1,1),A(i-1,2))*f(A(i-1,1),A(i-1,2));
A(i,2)=A(i-1,2)+h*F1+0.5*h*h*F2;
endfor
# Error Absoluto (aprox Euler-Exacta). Llena columna 4.
for i=1:1:m
A(i,4)=abs(A(i,2)-A(i,3));
endfor
EA_t2=max(A(:,4))
# Graficos:
subplot(2,1,1)
plot(A(:,1),A(:,2),’--’,A(:,1),A(:,3),’-’);
xlabel(’Partición (A(:,1))’)
ylabel(’y_t2 A(:,2) & y_exacta A(:,3)’)
grid on
% Error Absoluto.
subplot(2,1,2)
plot(A(:,1),A(:,4),’o’)
xlabel(’Partición (A(:,1))’)
ylabel(’A(:,4): |y_t2-y_exacta|’)
grid on
#
endfunction
#
# FUNCIONES AUXILIARES
function dy=f(x,y)
A=14;
B=6/7;
C=26;
dy=A*exp(B*x)-(C*y);
endfunction
#
function dy=fx(x,y)
dy=12*exp(6*x/7);
endfunction
#
function dy=fy(x,y)
dy=-26;
endfunction
# Solucion Exacta:
function y=exacta(x)
A=14;
B=6/7;
C=26;
y=(((A*exp(-C*x))*(exp(x*(B+C))))/(B+C))+(2019/94);
endfunction
16
Runge-Kutta clasico de orden 4
function A=rungeku(x0,xM,y0,h)
# METODO DE RUNGE-KUTTA-4 CLÁSICO.
# Condicion Inicial:y(x0)=y0.
# Intervalo de Solucion: [x0,xM].
# Tama~no de Paso: 0<h<1.
# A: matriz de 4 columnas:
# Columna 1: elementos de la particion del intervalo [x0,xM].
# Columna 2: aproximacion de RK4 yi aprox y(xi).
# Columna 3: solucion exacta evaluada en la entrada xi de la particion.
# Columna 4: error absoluto de la aproximacion yi.
# AUTOR: EMILIO CARIAGA L., 10-junio-2020. vOctave 4.2.2 (2018).
%
% Especifica partición del intervalo: [x0,xM].
par=x0:h:xM;
m=max(size(par));
# Llenado columnas 1 (partición) y 3 (solución exacta evaluada en partición).
for i=1:1:m
A(i,1)=par(i);
A(i,3)=exacta(par(i));
endfor
# Formula de Euler. Llena columna 2 (aproximaciones de Euler).
A(1,2)=y0;
for i=2:1:m
%
u=A(i-1,1);
v=A(i-1,2) ;
%
K1=f(u,v);
K2=f(u+h/2,v+h*K1/2);
K3=f(u+h/2,v+h*K2/2);
K4=f(u+h,v+K3*h);
%
A(i,2)=A(i-1,2)+(h/6)*(K1+2*K2+2*K3+K4);
%
endfor
# Error Absoluto (aprox Euler-Exacta). Llena columna 4.
for i=1:1:m
A(i,4)=abs(A(i,2)-A(i,3));
endfor
#
EA_RK4=max(A(:,4))
# Graficos:
subplot(2,1,1)
plot(A(:,1),A(:,2),’--’,A(:,1),A(:,3),’-’);
xlabel(’Partición (A(:,1))’)
17
ylabel(’y_RK4 A(:,2) & y_exacta A(:,3)’)
grid on
% Error Absoluto.
subplot(2,1,2)
plot(A(:,1),A(:,4),’o’)
xlabel(’Partición (A(:,1))’)
ylabel(’A(:,4): |y_RK4-y_exacta|’)
grid on
#
endfunction
#
# FUNCIONES AUXILIARES
# Funcion Pendiente:
function dy=f(x,y)
A=14;
B=6/7;
C=26;
dy=A*exp(B*x)-(C*y);
endfunction
#
# Solucion Exacta:
function y=exacta(x)
A=14;
B=6/7;
C=26;
y=(((A*exp(-C*x))*(exp(x*(B+C))))/(B+C))+(2019/94);
endfunction
18