SlideShare a Scribd company logo
1 of 11
Año de la Diversificación Productiva y del Fortalecimiento de la
Educación
UNIVERSIDAD NACIONAL
DEL CALLAO
FACULTAD DE CIENCIAS
NATURALES Y MATEMÁTICA
FÍSICA TEÓRICA COMPUTACIONAL
“COMPARACIÓN DE LOS MÉTODOS ITERATIVOS
DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA 4
ORDEN EN UNA EDO DE SEGUNDO ORDEN
USANDO FORTRAN 90 , MATLAB Y SCILAB”
MARCO ANTONIO ALPACA CHAMBA
FÍSICO BÁSICO
ENUNCIADO DEL PROBLEMA:
Use los métodos de RK2 y RK4 con h=0.5, para obtener una aproximación de 𝒙 𝟑 para la
solución de la siguiente ecuación diferencial con valores iniciales:
SOLUCIÓN:
Se comprueba fácilmente que la solución del problema de valor inicial es:
Usando fortran tenemos:
PROGRAM RUNGE_KUTTA_CUARTO_ORDEN
REAL T0,TF,X0,Z0,K1,M1,K2,M2,K3,M3,K4,M4,H
OPEN(UNIT=12,FILE='KUTTA4.TXT',STATUS='UNKNOWN',ACTION='WRITE')
PRINT*,''
PRINT*,
'====================================================================='
PRINT*,'METHOD DE RUNGEKUTTADE CUARTO ORDEN CON CONDICIONES
INICIALES PARA '
PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN'
PRINT*,'==================================================================
===='
PRINT*,''
PRINT*,'INGRESAR EL VALOR INICIAL T0:'
READ(5,*)T0
PRINT*, 'INGRESAR EL VALOR FINAL TF:'
READ*, TF
PRINT*, 'INGRESAR EL VALOR INICAL X0:'
READ*, X0
PRINT*, 'INGRESAR EL VALOR INICIAL Z0:'
READ*, Z0
PRINT*, 'INGRESAR LONGITUD DE PASO,H:'
READ*,H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS COMPUTACIONALES")'
PRINT*,('*',I=1,79)
PRINT*,''
N=(TF-T0)/H
K=1
PRINT 50
50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD")
70 WRITE(12,60)K,T0,X0,Z0
PRINT'(2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)',K,T0,X0,Z0
IF (T0.LE.(TF-0.0000001))THEN
DO WHILE (K < N+2)
M1=H*Z0
K1=H*F(T0,X0,Z0)
M2=H*(Z0+K1/2)
K2=H*F(T0+H/2,X0+M1/2,Z0+K1/2)
M3=H*(Z0+K2/2)
K3=H*F(T0+H/2,X0+M2/2,Z0+K2/2)
M4=H*(Z0+K3)
K4=H*F(T0+H,X0+M3,Z0+K3)
X0=X0+(M1+2*(M2+M3)+M4)/6
Z0=Z0+(K1+2*K2+2*K3+K4)/6
T0=T0+H
K=K+1
GOTO 70
ENDDO
END IF
60 FORMAT (2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) T0,X0
121 FORMAT (10X,'X(',F7.2,')=',F12.4)
PRINT*,''
STOP
END PROGRAM
FUNCTION F(T,X,Z)
REAL T,X,Z
F=-5*Z-4*X+0*T
RETURN
END FUNCTION
PROGRAM RUNGE_KUTTA_SECOND_ORDEN
REAL T0,TF,X0,Z0,K1,M1,K2,M2,H
OPEN(UNIT=12,FILE='KUTTA2.TXT',STATUS='UNKNOWN',ACTION='WRITE')
PRINT*,''
PRINT*,
'====================================================================='
PRINT*,'METHOD DE RUNGEKUTTADE SEGUNDO ORDEN CON CONDICIONES
INICIALES PARA '
PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN'
PRINT*,'==================================================================
===='
PRINT*,''
PRINT*,'INGRESAR EL VALOR INICIAL T0:'
READ(5,*)T0
PRINT*, 'INGRESAR EL VALOR FINAL TF:'
READ*, TF
PRINT*, 'INGRESAR EL VALOR INICAL X0:'
READ*, X0
PRINT*, 'INGRESAR EL VALOR INICIAL DE Z0:'
READ*, Z0
PRINT*, 'INGRESAR LONGITUD DE PASO,H:'
READ*,H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS COMPUTACIONALES")'
PRINT*,('*',I=1,79)
PRINT*,''
N=(TF-T0)/H
K=1
PRINT 50
50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD")
70 WRITE(12,60)K,T0,X0,Z0
PRINT'(2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)',K,T0,X0,Z0
IF (T0.LE.(TF-0.0000001))THEN
DO WHILE (K < N+2)
M1=H*Z0
K1=H*F(T0,X0,Z0)
M2=H*(Z0+K1)
K2=H*F(T0+H,X0+M1,Z0+K1)
X0=X0+(M1+M2)/2
Z0=Z0+(K1+K2)/2
T0=T0+H
K=K+1
GOTO 70
ENDDO
ENDIF
60 FORMAT (2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,90) T0,X0
90 FORMAT (10X,'X(',F7.2,')=',F12.4)
PRINT*,''
STOP
END PROGRAM
FUNCTION F(T,X,Z)
REAL T,X,Z
F=-5*Z-4*X+0*T
RETURN
END FUNCTION
USANDO MATLAB TENEMOS:
clear;
clc;
t0=0.0;
tf=3.0;
x0=1;
z0=1;
h=0.5;
k=1;
sk=1;
n=0;
i=0;
f=@(t,x,z)0*t-4*x-5*z;
g1=@(t)5./3.*exp(-1*t)-2./3.*exp(-4*t);
T=(t0:0.02:3.5);
xe=g1(T);
t(1)=t0;x(1)=x0;z(1)=z0;
disp(' 4th order Runge-Kutta simulation')
disp('_________________________________________')
disp(' datos t x ')
disp('_________________________________________')
fprintf('n')
fprintf('%6.2f %12.6f %12.6fn',k,t0,x0)
while(t(n+1)<=tf)
n=n+1;
% Cuarto order Runge-Kutta simulation
k1=h*z(n);
m1=h*f(t(n),x(n),z(n));
k2=h*(z(n)+m1./2);
m2=h*f(t(n)+h./2,x(n)+k1./2,z(n)+m1./2);
k3=h*(z(n)+m2./2);
m3=h*f(t(n)+h./2,x(n)+k2./2,z(n)+m2./2);
k4=h*(z(n)+m3);
m4=h*f(t(n)+h,x(n)+k3,z(n)+m3);
x(n+1)=x(n)+(k1+2*k2+2*k3+k4)./6;
z(n+1)=z(n)+(m1+2*m2+2*m3+m4)./6;
t(n+1)=t(n)+h;
k=k+1;
fprintf('%6.2f %12.6f %12.6fn',k,t(n+1),x(n+1))
end
fprintf('Final answer n');
fprintf('%12.6fn',x(n));
fprintf('n')
st(1)=t0;sx(1)=x0;sz(1)=z0;
disp(' Second order Runge-Kutta simulation')
disp('_________________________________________')
disp(' datos t x ')
disp('_________________________________________')
fprintf('n')
fprintf('%6.2f %12.6f %12.6fn',1,st(1),sx(1))
while(st(i+1)<=tf)
i=i+1;
% Second order Runge-Kutta simulation
sk1=h*sz(i);
sm1=h*f(st(i),sx(i),sz(i));
sk2=h*(sz(i)+sm1);
sm2=h*f(st(i)+h,sx(i)+sk1,sz(i)+sm1);
sx(i+1)=sx(i)+(sk1+sk2)./2;
sz(i+1)=sz(i)+(sm1+sm2)./2;
st(i+1)=st(i)+h;
sk=sk+1;
fprintf('%6.2f %12.6f %12.6fn',sk,st(i+1),sx(i+1))
end
fprintf('Final answer n');
fprintf('%12.6fn',sx(i));
fprintf('n')
figure1=figure('color',[1 1 1]);
plot(T,xe,'b-');
hold on
plot(t,x,'--x');
plot(st,sx,'--o');
grid on
xlabel('Time(t)');
ylabel('Amplitude');
title('x(t)=(5/3)e^-^t-(2/3)e^-^4^t')
legend('Exact','4th O Runge-Kutta','2nd O Runge-Kutta',1)
Usando Scilab tenemos:
clear;
clc;
t0=0.0;
tf=3.0;
x0=1.0;
z0=1.0;
h=0.5;
k=1;
sk=1;
n=0;
i=0;
function y=f(t, x, z)
y=0*t-4*x-5*z
endfunction
T=(t0:0.02:3.5);
xe=5/3*exp(-1*T)-2/3*exp(-4*T);
t(1)=t0;x(1)=x0;z(1)=z0;
disp(' 4th order Runge-Kutta simulation')
disp('_________________________________________')
disp(' datos t x ')
disp('_________________________________________')
printf('%6.2f %12.6f %12.6fn',k,t0,x0)
while(t(n+1)<=tf)
n=n+1;
// Cuarto order Runge-Kutta simulation
k1=h*z(n);
m1=h*f(t(n),x(n),z(n));
k2=h*(z(n)+m1/2);
m2=h*f(t(n)+h/2,x(n)+k1/2,z(n)+m1/2);
k3=h*(z(n)+m2/2);
m3=h*f(t(n)+h/2,x(n)+k2/2,z(n)+m2/2);
k4=h*(z(n)+m3);
m4=h*f(t(n)+h,x(n)+k3,z(n)+m3);
x(n+1)=x(n)+(k1+2*k2+2*k3+k4)/6;
z(n+1)=z(n)+(m1+2*m2+2*m3+m4)/6;
t(n+1)=t(n)+h;
k=k+1;
printf('%6.2f %12.6f %12.6fn',k,t(n+1),x(n+1))
end
printf('Final answer n');
printf('%12.6fn',x(n));
printf('n')
st(1)=t0;sx(1)=x0;sz(1)=z0;
disp(' Second order Runge-Kutta simulation')
disp('_________________________________________')
disp(' datos t x ')
disp('_________________________________________')
printf('%6.2f %12.6f %12.6fn',1,st(1),sx(1))
while(st(i+1)<=tf)
i=i+1;
// Second order Runge-Kutta simulation
sk1=h*sz(i);
sm1=h*f(st(i),sx(i),sz(i));
sk2=h*(sz(i)+sm1);
sm2=h*f(st(i)+h,sx(i)+sk1,sz(i)+sm1);
sx(i+1)=sx(i)+(sk1+sk2)/2;
sz(i+1)=sz(i)+(sm1+sm2)/2;
st(i+1)=st(i)+h;
sk=sk+1;
printf('%6.2f %12.6f %12.6fn',sk,st(i+1),sx(i+1))
end
printf('Final answer n');
printf('%12.6fn',sx(i));
printf('n');
scf(1);
clf(1);
plot2d(T,xe,rect=[0,-0.8,3.5,1.2],style=5);
plot(t,x,'bx--');
plot(st,sx,'m--o');
xlabel('Time(t)');
ylabel('Amplitude');
title('x(t)=(5/3)e^-t-(2/3)e^-4t','fontsize',3);
legend('Exact','4th O Runge-Kutta','2nd O Runge-Kutta',1);
xgrid
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA 4 ORDEN EN UNA EDO DE SEGUNDO ORDEN USANDO FORTRAN 90 , MATLAB Y SCILAB
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA 4 ORDEN EN UNA EDO DE SEGUNDO ORDEN USANDO FORTRAN 90 , MATLAB Y SCILAB

More Related Content

What's hot

Clase solucion ecuaciones_derivadas_parciales_2014
Clase solucion ecuaciones_derivadas_parciales_2014Clase solucion ecuaciones_derivadas_parciales_2014
Clase solucion ecuaciones_derivadas_parciales_2014iverd
 
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitas
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitasDeducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitas
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitasFrancisco Reyes
 
Probabilidad, karina, 3 b
Probabilidad, karina, 3 bProbabilidad, karina, 3 b
Probabilidad, karina, 3 bkaribine
 
T student ejemplos
T student ejemplosT student ejemplos
T student ejemploskaremlucero
 
Deber de Probabilidad
Deber de Probabilidad Deber de Probabilidad
Deber de Probabilidad cristian
 
Muller method
Muller methodMuller method
Muller methodJeannie
 
Ecuaciones Lineales Homogéneas con coeficientes constantes
Ecuaciones Lineales Homogéneas con coeficientes constantesEcuaciones Lineales Homogéneas con coeficientes constantes
Ecuaciones Lineales Homogéneas con coeficientes constantesKarina Alexandra
 
Métodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinariasMétodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinariasJaime Martínez Verdú
 

What's hot (20)

Clase solucion ecuaciones_derivadas_parciales_2014
Clase solucion ecuaciones_derivadas_parciales_2014Clase solucion ecuaciones_derivadas_parciales_2014
Clase solucion ecuaciones_derivadas_parciales_2014
 
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitas
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitasDeducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitas
Deducción del método de Newton Raphson para 3 ecuaciones con 3 incógnitas
 
Magnetostatica en el vacío
Magnetostatica en el vacíoMagnetostatica en el vacío
Magnetostatica en el vacío
 
Estadistica 2
Estadistica 2Estadistica 2
Estadistica 2
 
Probabilidad, karina, 3 b
Probabilidad, karina, 3 bProbabilidad, karina, 3 b
Probabilidad, karina, 3 b
 
T student ejemplos
T student ejemplosT student ejemplos
T student ejemplos
 
Runge kutta
Runge kuttaRunge kutta
Runge kutta
 
Tema 4 integración numérica
Tema 4 integración numéricaTema 4 integración numérica
Tema 4 integración numérica
 
Deber de Probabilidad
Deber de Probabilidad Deber de Probabilidad
Deber de Probabilidad
 
Método Quasi-Newton
Método Quasi-NewtonMétodo Quasi-Newton
Método Quasi-Newton
 
Trabajo de calculo numerico
Trabajo de calculo numericoTrabajo de calculo numerico
Trabajo de calculo numerico
 
Sesion 7 S Dbos
Sesion 7 S DbosSesion 7 S Dbos
Sesion 7 S Dbos
 
scilab
scilabscilab
scilab
 
Muller method
Muller methodMuller method
Muller method
 
Runge-Kutta f
Runge-Kutta fRunge-Kutta f
Runge-Kutta f
 
Runge Kutta Method
Runge Kutta MethodRunge Kutta Method
Runge Kutta Method
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
 
Graficas con Matlab
Graficas con Matlab Graficas con Matlab
Graficas con Matlab
 
Ecuaciones Lineales Homogéneas con coeficientes constantes
Ecuaciones Lineales Homogéneas con coeficientes constantesEcuaciones Lineales Homogéneas con coeficientes constantes
Ecuaciones Lineales Homogéneas con coeficientes constantes
 
Métodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinariasMétodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinarias
 

Viewers also liked

COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...Marco Antonio
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier Marco Antonio
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numéricaMarco Antonio
 
Métodos numéricos con fortran 90
Métodos numéricos con fortran 90Métodos numéricos con fortran 90
Métodos numéricos con fortran 90Marco Antonio
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas kCECYTEG
 
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5Marco Antonio
 
Mapa de karnaugh alarma de un automóvil
Mapa de karnaugh alarma de un automóvilMapa de karnaugh alarma de un automóvil
Mapa de karnaugh alarma de un automóvilMarco Antonio
 
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...Marco Antonio
 
Espaciotiempo y diagrama de espaciotiempo
Espaciotiempo y diagrama de espaciotiempoEspaciotiempo y diagrama de espaciotiempo
Espaciotiempo y diagrama de espaciotiempoMarco Antonio
 
La Celda unidad y las redes de bravais
La Celda unidad y las redes de bravaisLa Celda unidad y las redes de bravais
La Celda unidad y las redes de bravaisMarco Antonio
 
Proceso de autoionización
Proceso de autoionizaciónProceso de autoionización
Proceso de autoionizaciónMarco Antonio
 
Por qué es azul el océano
Por qué es azul el océanoPor qué es azul el océano
Por qué es azul el océanoMarco Antonio
 
Dosis media de radiación de un examen estándar en la cabeza en 250 sistemas ...
Dosis media de radiación de un examen  estándar en la cabeza en 250 sistemas ...Dosis media de radiación de un examen  estándar en la cabeza en 250 sistemas ...
Dosis media de radiación de un examen estándar en la cabeza en 250 sistemas ...Marco Antonio
 
Planos cristalográficos
Planos cristalográficosPlanos cristalográficos
Planos cristalográficosMarco Antonio
 
Mapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMarco Antonio
 

Viewers also liked (20)

COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numérica
 
Métodos numéricos con fortran 90
Métodos numéricos con fortran 90Métodos numéricos con fortran 90
Métodos numéricos con fortran 90
 
Laboratorio8
Laboratorio8Laboratorio8
Laboratorio8
 
Laboratorio5
Laboratorio5Laboratorio5
Laboratorio5
 
Arquímedes
ArquímedesArquímedes
Arquímedes
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas k
 
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5
MÉTODO DE EULER PARA EDO Y DE ORDEN SUPERIOR USANDO SCILAB 5.5
 
Mapa de karnaugh alarma de un automóvil
Mapa de karnaugh alarma de un automóvilMapa de karnaugh alarma de un automóvil
Mapa de karnaugh alarma de un automóvil
 
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...
Ecuación diferencial parcial parabólica, método explícito usando fortan 90 ,m...
 
Espaciotiempo y diagrama de espaciotiempo
Espaciotiempo y diagrama de espaciotiempoEspaciotiempo y diagrama de espaciotiempo
Espaciotiempo y diagrama de espaciotiempo
 
Clase modelo
Clase modeloClase modelo
Clase modelo
 
La Celda unidad y las redes de bravais
La Celda unidad y las redes de bravaisLa Celda unidad y las redes de bravais
La Celda unidad y las redes de bravais
 
Laboratorio6
Laboratorio6Laboratorio6
Laboratorio6
 
Proceso de autoionización
Proceso de autoionizaciónProceso de autoionización
Proceso de autoionización
 
Por qué es azul el océano
Por qué es azul el océanoPor qué es azul el océano
Por qué es azul el océano
 
Dosis media de radiación de un examen estándar en la cabeza en 250 sistemas ...
Dosis media de radiación de un examen  estándar en la cabeza en 250 sistemas ...Dosis media de radiación de un examen  estándar en la cabeza en 250 sistemas ...
Dosis media de radiación de un examen estándar en la cabeza en 250 sistemas ...
 
Planos cristalográficos
Planos cristalográficosPlanos cristalográficos
Planos cristalográficos
 
Mapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMapa de karnaugh el semáforo
Mapa de karnaugh el semáforo
 

More from Marco Antonio

DIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICADIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICAMarco Antonio
 
Interpolación aritmética
Interpolación aritméticaInterpolación aritmética
Interpolación aritméticaMarco Antonio
 
PREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOPREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOMarco Antonio
 
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAEXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAMarco Antonio
 
Prefijos del sistema internacional
Prefijos del sistema internacionalPrefijos del sistema internacional
Prefijos del sistema internacionalMarco Antonio
 
monthly exam of algebra
monthly exam of algebramonthly exam of algebra
monthly exam of algebraMarco Antonio
 
Problemas resueltos de Factorización
Problemas resueltos de FactorizaciónProblemas resueltos de Factorización
Problemas resueltos de FactorizaciónMarco Antonio
 
solucionario del examen de álgebra
solucionario del examen de álgebrasolucionario del examen de álgebra
solucionario del examen de álgebraMarco Antonio
 
Examen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaExamen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaMarco Antonio
 
Examen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaExamen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaMarco Antonio
 
Brevísima historia de Arquímedes
Brevísima historia de ArquímedesBrevísima historia de Arquímedes
Brevísima historia de ArquímedesMarco Antonio
 
Sesion multiplexores y demultiplexores
Sesion  multiplexores y demultiplexores Sesion  multiplexores y demultiplexores
Sesion multiplexores y demultiplexores Marco Antonio
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registrosMarco Antonio
 
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLAB
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLABEL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLAB
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLABMarco Antonio
 
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDO
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDOMÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDO
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDOMarco Antonio
 
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5Marco Antonio
 
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.Marco Antonio
 
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...Marco Antonio
 

More from Marco Antonio (20)

DIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICADIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICA
 
Interpolación aritmética
Interpolación aritméticaInterpolación aritmética
Interpolación aritmética
 
PREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOPREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICO
 
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAEXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
 
Prefijos del sistema internacional
Prefijos del sistema internacionalPrefijos del sistema internacional
Prefijos del sistema internacional
 
monthly exam of algebra
monthly exam of algebramonthly exam of algebra
monthly exam of algebra
 
Factorización
FactorizaciónFactorización
Factorización
 
Problemas resueltos de Factorización
Problemas resueltos de FactorizaciónProblemas resueltos de Factorización
Problemas resueltos de Factorización
 
solucionario del examen de álgebra
solucionario del examen de álgebrasolucionario del examen de álgebra
solucionario del examen de álgebra
 
Examen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaExamen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primaria
 
Examen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaExamen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primaria
 
Brevísima historia de Arquímedes
Brevísima historia de ArquímedesBrevísima historia de Arquímedes
Brevísima historia de Arquímedes
 
Sesion multiplexores y demultiplexores
Sesion  multiplexores y demultiplexores Sesion  multiplexores y demultiplexores
Sesion multiplexores y demultiplexores
 
Sesion flips flops
Sesion  flips flopsSesion  flips flops
Sesion flips flops
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registros
 
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLAB
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLABEL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLAB
EL VALOR DE PI USANDO EL MÉTODO MONTE CARLO EN FORTRAN, SCILAB 5.5 Y MATLAB
 
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDO
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDOMÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDO
MÉTODO DE RONGE KUTTA DE CUARTO ORDEN PARA EDO
 
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5
COMPARACIÓN DEL MÉTODO DE RONGE KUTTA (2-4) USANDO FORTRAN Y SCILAB 5.5
 
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.
Ecuación Diferencial Hiperbólica usando fortran, matlab y scilab.
 
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...
Ecuación diferencial parabólica usando el método crank nicholson en fortran, ...
 

Recently uploaded

Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñ
Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñSeth-Godin-–-Tribus-PDFDrive-.pdf en espaoñ
Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñcarrenoelio8
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...Nguyen Thanh Tu Collection
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...Nguyen Thanh Tu Collection
 
French Revolution (फ्रेंच राज्यक्रांती)
French Revolution  (फ्रेंच राज्यक्रांती)French Revolution  (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)Shankar Aware
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (6)

Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñ
Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñSeth-Godin-–-Tribus-PDFDrive-.pdf en espaoñ
Seth-Godin-–-Tribus-PDFDrive-.pdf en espaoñ
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
 
LAR MARIA MÃE DE ÁFRICA .
LAR MARIA MÃE DE ÁFRICA                 .LAR MARIA MÃE DE ÁFRICA                 .
LAR MARIA MÃE DE ÁFRICA .
 
French Revolution (फ्रेंच राज्यक्रांती)
French Revolution  (फ्रेंच राज्यक्रांती)French Revolution  (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA 4 ORDEN EN UNA EDO DE SEGUNDO ORDEN USANDO FORTRAN 90 , MATLAB Y SCILAB

  • 1. Año de la Diversificación Productiva y del Fortalecimiento de la Educación UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA FÍSICA TEÓRICA COMPUTACIONAL “COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA 4 ORDEN EN UNA EDO DE SEGUNDO ORDEN USANDO FORTRAN 90 , MATLAB Y SCILAB” MARCO ANTONIO ALPACA CHAMBA FÍSICO BÁSICO
  • 2. ENUNCIADO DEL PROBLEMA: Use los métodos de RK2 y RK4 con h=0.5, para obtener una aproximación de 𝒙 𝟑 para la solución de la siguiente ecuación diferencial con valores iniciales: SOLUCIÓN: Se comprueba fácilmente que la solución del problema de valor inicial es: Usando fortran tenemos: PROGRAM RUNGE_KUTTA_CUARTO_ORDEN REAL T0,TF,X0,Z0,K1,M1,K2,M2,K3,M3,K4,M4,H OPEN(UNIT=12,FILE='KUTTA4.TXT',STATUS='UNKNOWN',ACTION='WRITE') PRINT*,'' PRINT*, '=====================================================================' PRINT*,'METHOD DE RUNGEKUTTADE CUARTO ORDEN CON CONDICIONES INICIALES PARA ' PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN' PRINT*,'================================================================== ====' PRINT*,'' PRINT*,'INGRESAR EL VALOR INICIAL T0:' READ(5,*)T0 PRINT*, 'INGRESAR EL VALOR FINAL TF:' READ*, TF PRINT*, 'INGRESAR EL VALOR INICAL X0:' READ*, X0 PRINT*, 'INGRESAR EL VALOR INICIAL Z0:' READ*, Z0 PRINT*, 'INGRESAR LONGITUD DE PASO,H:' READ*,H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS COMPUTACIONALES")' PRINT*,('*',I=1,79) PRINT*,'' N=(TF-T0)/H K=1 PRINT 50 50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD") 70 WRITE(12,60)K,T0,X0,Z0 PRINT'(2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)',K,T0,X0,Z0 IF (T0.LE.(TF-0.0000001))THEN DO WHILE (K < N+2) M1=H*Z0 K1=H*F(T0,X0,Z0) M2=H*(Z0+K1/2) K2=H*F(T0+H/2,X0+M1/2,Z0+K1/2) M3=H*(Z0+K2/2) K3=H*F(T0+H/2,X0+M2/2,Z0+K2/2)
  • 3. M4=H*(Z0+K3) K4=H*F(T0+H,X0+M3,Z0+K3) X0=X0+(M1+2*(M2+M3)+M4)/6 Z0=Z0+(K1+2*K2+2*K3+K4)/6 T0=T0+H K=K+1 GOTO 70 ENDDO END IF 60 FORMAT (2X,I2,8X,F3.1,6X,F12.6,10X,F12.6) PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) T0,X0 121 FORMAT (10X,'X(',F7.2,')=',F12.4) PRINT*,'' STOP END PROGRAM FUNCTION F(T,X,Z) REAL T,X,Z F=-5*Z-4*X+0*T RETURN END FUNCTION PROGRAM RUNGE_KUTTA_SECOND_ORDEN REAL T0,TF,X0,Z0,K1,M1,K2,M2,H OPEN(UNIT=12,FILE='KUTTA2.TXT',STATUS='UNKNOWN',ACTION='WRITE')
  • 4. PRINT*,'' PRINT*, '=====================================================================' PRINT*,'METHOD DE RUNGEKUTTADE SEGUNDO ORDEN CON CONDICIONES INICIALES PARA ' PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN' PRINT*,'================================================================== ====' PRINT*,'' PRINT*,'INGRESAR EL VALOR INICIAL T0:' READ(5,*)T0 PRINT*, 'INGRESAR EL VALOR FINAL TF:' READ*, TF PRINT*, 'INGRESAR EL VALOR INICAL X0:' READ*, X0 PRINT*, 'INGRESAR EL VALOR INICIAL DE Z0:' READ*, Z0 PRINT*, 'INGRESAR LONGITUD DE PASO,H:' READ*,H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS COMPUTACIONALES")' PRINT*,('*',I=1,79) PRINT*,'' N=(TF-T0)/H K=1 PRINT 50 50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD") 70 WRITE(12,60)K,T0,X0,Z0 PRINT'(2X,I2,8X,F3.1,6X,F12.6,10X,F12.6)',K,T0,X0,Z0 IF (T0.LE.(TF-0.0000001))THEN DO WHILE (K < N+2) M1=H*Z0 K1=H*F(T0,X0,Z0) M2=H*(Z0+K1) K2=H*F(T0+H,X0+M1,Z0+K1) X0=X0+(M1+M2)/2 Z0=Z0+(K1+K2)/2 T0=T0+H K=K+1 GOTO 70 ENDDO ENDIF 60 FORMAT (2X,I2,8X,F3.1,6X,F12.6,10X,F12.6) PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,90) T0,X0 90 FORMAT (10X,'X(',F7.2,')=',F12.4) PRINT*,'' STOP END PROGRAM FUNCTION F(T,X,Z) REAL T,X,Z F=-5*Z-4*X+0*T
  • 5. RETURN END FUNCTION USANDO MATLAB TENEMOS: clear; clc; t0=0.0; tf=3.0; x0=1; z0=1; h=0.5; k=1; sk=1; n=0; i=0; f=@(t,x,z)0*t-4*x-5*z; g1=@(t)5./3.*exp(-1*t)-2./3.*exp(-4*t); T=(t0:0.02:3.5); xe=g1(T); t(1)=t0;x(1)=x0;z(1)=z0; disp(' 4th order Runge-Kutta simulation') disp('_________________________________________') disp(' datos t x ') disp('_________________________________________') fprintf('n') fprintf('%6.2f %12.6f %12.6fn',k,t0,x0)
  • 6. while(t(n+1)<=tf) n=n+1; % Cuarto order Runge-Kutta simulation k1=h*z(n); m1=h*f(t(n),x(n),z(n)); k2=h*(z(n)+m1./2); m2=h*f(t(n)+h./2,x(n)+k1./2,z(n)+m1./2); k3=h*(z(n)+m2./2); m3=h*f(t(n)+h./2,x(n)+k2./2,z(n)+m2./2); k4=h*(z(n)+m3); m4=h*f(t(n)+h,x(n)+k3,z(n)+m3); x(n+1)=x(n)+(k1+2*k2+2*k3+k4)./6; z(n+1)=z(n)+(m1+2*m2+2*m3+m4)./6; t(n+1)=t(n)+h; k=k+1; fprintf('%6.2f %12.6f %12.6fn',k,t(n+1),x(n+1)) end fprintf('Final answer n'); fprintf('%12.6fn',x(n)); fprintf('n') st(1)=t0;sx(1)=x0;sz(1)=z0; disp(' Second order Runge-Kutta simulation') disp('_________________________________________') disp(' datos t x ') disp('_________________________________________') fprintf('n') fprintf('%6.2f %12.6f %12.6fn',1,st(1),sx(1)) while(st(i+1)<=tf) i=i+1; % Second order Runge-Kutta simulation sk1=h*sz(i); sm1=h*f(st(i),sx(i),sz(i)); sk2=h*(sz(i)+sm1); sm2=h*f(st(i)+h,sx(i)+sk1,sz(i)+sm1); sx(i+1)=sx(i)+(sk1+sk2)./2; sz(i+1)=sz(i)+(sm1+sm2)./2; st(i+1)=st(i)+h; sk=sk+1; fprintf('%6.2f %12.6f %12.6fn',sk,st(i+1),sx(i+1)) end fprintf('Final answer n'); fprintf('%12.6fn',sx(i)); fprintf('n') figure1=figure('color',[1 1 1]); plot(T,xe,'b-'); hold on plot(t,x,'--x'); plot(st,sx,'--o'); grid on xlabel('Time(t)'); ylabel('Amplitude'); title('x(t)=(5/3)e^-^t-(2/3)e^-^4^t') legend('Exact','4th O Runge-Kutta','2nd O Runge-Kutta',1)
  • 7.
  • 8. Usando Scilab tenemos: clear; clc; t0=0.0; tf=3.0; x0=1.0; z0=1.0; h=0.5; k=1; sk=1; n=0; i=0; function y=f(t, x, z) y=0*t-4*x-5*z endfunction T=(t0:0.02:3.5); xe=5/3*exp(-1*T)-2/3*exp(-4*T); t(1)=t0;x(1)=x0;z(1)=z0; disp(' 4th order Runge-Kutta simulation') disp('_________________________________________') disp(' datos t x ') disp('_________________________________________') printf('%6.2f %12.6f %12.6fn',k,t0,x0) while(t(n+1)<=tf) n=n+1; // Cuarto order Runge-Kutta simulation k1=h*z(n); m1=h*f(t(n),x(n),z(n)); k2=h*(z(n)+m1/2); m2=h*f(t(n)+h/2,x(n)+k1/2,z(n)+m1/2);
  • 9. k3=h*(z(n)+m2/2); m3=h*f(t(n)+h/2,x(n)+k2/2,z(n)+m2/2); k4=h*(z(n)+m3); m4=h*f(t(n)+h,x(n)+k3,z(n)+m3); x(n+1)=x(n)+(k1+2*k2+2*k3+k4)/6; z(n+1)=z(n)+(m1+2*m2+2*m3+m4)/6; t(n+1)=t(n)+h; k=k+1; printf('%6.2f %12.6f %12.6fn',k,t(n+1),x(n+1)) end printf('Final answer n'); printf('%12.6fn',x(n)); printf('n') st(1)=t0;sx(1)=x0;sz(1)=z0; disp(' Second order Runge-Kutta simulation') disp('_________________________________________') disp(' datos t x ') disp('_________________________________________') printf('%6.2f %12.6f %12.6fn',1,st(1),sx(1)) while(st(i+1)<=tf) i=i+1; // Second order Runge-Kutta simulation sk1=h*sz(i); sm1=h*f(st(i),sx(i),sz(i)); sk2=h*(sz(i)+sm1); sm2=h*f(st(i)+h,sx(i)+sk1,sz(i)+sm1); sx(i+1)=sx(i)+(sk1+sk2)/2; sz(i+1)=sz(i)+(sm1+sm2)/2; st(i+1)=st(i)+h; sk=sk+1; printf('%6.2f %12.6f %12.6fn',sk,st(i+1),sx(i+1)) end printf('Final answer n'); printf('%12.6fn',sx(i)); printf('n'); scf(1); clf(1); plot2d(T,xe,rect=[0,-0.8,3.5,1.2],style=5); plot(t,x,'bx--'); plot(st,sx,'m--o'); xlabel('Time(t)'); ylabel('Amplitude'); title('x(t)=(5/3)e^-t-(2/3)e^-4t','fontsize',3); legend('Exact','4th O Runge-Kutta','2nd O Runge-Kutta',1); xgrid