SlideShare une entreprise Scribd logo
1  sur  5
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
“MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA
RESOLVER UNA ECUACIÓN DIFERENCIAL DE
SEGUNDO ORDEN USANDO FORTRAN 90 Y
MATLAB”
MARCO ANTONIO ALPACA CHAMBA
FÍSICO BÁSICO
ENUNCIADO DEL PROBLEMA:
Utilice el método de Runge-Kutta con h = 0.25 para aproximar los valores de la solución
del problema con valores iniciales:
𝒙(𝟎) = 𝟏/𝟐. 𝒙′(𝟎) = 𝟎. 𝟎
SOLUTION:
Usando fortran tenemos:
PROGRAM RUNGE_KUTTA_CUARTO_ORDEN
REAL X0,X1,Y0,Z0,RK1X,RK1V,RK2X,RK2V,RK3X,RK3V,RK4X,RK4V,H
OPEN(UNIT=12,FILE='KUTTA4.TXT',STATUS='UNKNOWN',ACTION='WRITE')
PRINT*,''
PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE RUNGE KUTTA DE CUARTO ORDEN CON CONDICIONES
INICIALES PARA '
PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN'
PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL VALOR INICIAL DE X:'
READ(5,*)X0
PRINT*, 'INGRESAR EL VALOR FINAL DE X:'
READ*, X1
PRINT*, 'INGRESAR EL VALOR INICAL DE Y(EN X0):'
READ*, Y0
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=(X1-X0)/H
K=1
PRINT 50
50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD")
70 WRITE(12,60)K,X0,Y0,Z0
PRINT'(2X,I3,8X,F4.2,6X,F12.6,10X,F12.6)',K,X0,Y0,Z0
IF (X0.LE.(X1-0.0000001))THEN
DO WHILE (K < N+2)
RK1X=H*Z0
RK1V=H*F(X0,Y0,Z0)
RK2X=H*(Z0+0.5*RK1V)
RK2V=H*F(X0+0.5*H,Y0+0.5*RK1X,Z0+0.5*RK1V)
RK3X=H*(Z0+0.5*RK2V)
RK3V=H*F(X0+0.5*H,Y0+0.5*RK2X,Z0+0.5*RK2V)
RK4X=H*(Z0+RK3V)
RK4V=H*F(X0+H,Y0+RK3X,Z0+RK3V)
Y0=Y0+(RK1X +2*RK2X +2*RK3X+RK4X)/6
Z0=Z0+(RK1V+2*(RK2V+RK3V)+RK4V)/6
X0=X0+H
K=K+1
GOTO 70
ENDDO
END IF
60 FORMAT (2X,I3,8X,F4.2,6X,F12.6,10X,F12.6)
PRINT*,''
STOP
END PROGRAM
FUNCTION F(X,Y,Z)
REAL X,Y,Z
F=-4*Z-16*Y+0*X
RETURN
END FUNCTION
Usando Matlab tenemos:
clear;
clc;
t0=0.0;
tf=2.0;
x0=0.5;
y0=0.0;
f=@(t,x,y)y+0*x+0*t;
g=@(t,x,y)-4*y-16*x+0*t;
t=(t0:0.25:tf);
g1=@(t)sqrt(3)./3.*exp(-2*t).*cos(t.*2*sqrt(3)-pi./6);
T=(t0:0.02:2.5);
xe=g1(T);
n=length(t)-1;
h=(tf-t0)/n;
t(1)=t0;x(1)=x0;y(1)=y0;
fprintf('n')
disp(' 4th order Runge-Kutta simulation')
disp('______________________________________________')
disp('datos t x y ')
disp('_______________________________________________')
fprintf('n')
% 4th order Runge-Kutta simulation
fprintf('% 4.1f %6.2f %12.6f %12.6fn',1,t0,x0,y0)
for j=1:length(t)-1
rk1=h*f(t(j),x(j),y(j));
m1=h*g(t(j),x(j),y(j));
rk2=h*f(t(j)+0.5*h,x(j)+0.5*rk1,y(j)+m1*0.5);
m2=h*g(t(j)+0.5*h,x(j)+0.5*rk1,y(j)+m1*0.5);
rk3=h*f(t(j)+0.5*h,x(j)+0.5*rk2,y(j)+m2*0.5);
m3=h*g(t(j)+0.5*h,x(j)+0.5*rk2,y(j)+m2*0.5);
rk4=h*f(t(j)+h,x(j)+rk3,y(j)+m3);
m4=h*g(t(j)+h,x(j)+rk3,y(j)+m3);
x(j+1)=x(j)+(rk1+2*rk2+2*rk3+rk4)./6;
y(j+1)=y(j)+(m1+2*m2+2*m3+m4)./6;
t(j+1)=t(j)+h;
fprintf('% 4.1f %6.2f %12.6f %12.6fn',j+1,t(j+1),x(j+1),y(j+1))
end
fprintf('Final answer n');
fprintf('%12.6fn',y(n+1));
fprintf('n')
% Plot
figure1=figure('color',[1 1 1]);
plot(t,x,'--O',T,xe,'r-');
grid
legend('Runge Kutta','Exact',1);
xlabel('Time(t)');
ylabel('Amplitude');
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SEGUNDO ORDEN USANDO FORTRAN 90 Y MATLAB”

Contenu connexe

Tendances

Solucionario ecuaciones diferenciales dennis zill[7a edicion]
Solucionario ecuaciones diferenciales dennis zill[7a edicion]Solucionario ecuaciones diferenciales dennis zill[7a edicion]
Solucionario ecuaciones diferenciales dennis zill[7a edicion]Laura Cortes
 
Modelado de sistema rlc y tanques comunicantes matlab simulink
Modelado de sistema rlc y tanques comunicantes matlab simulinkModelado de sistema rlc y tanques comunicantes matlab simulink
Modelado de sistema rlc y tanques comunicantes matlab simulinkJoshwaBravo
 
Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesRAQUEL CARDENAS GONZALEZ
 
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
 
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIAAPLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIAwendybejarano02
 
ejercicio grupo 4 dinamica.pdf
ejercicio grupo 4 dinamica.pdfejercicio grupo 4 dinamica.pdf
ejercicio grupo 4 dinamica.pdfalexanderchero
 
Solucionario serway capitulo 15
Solucionario serway capitulo 15Solucionario serway capitulo 15
Solucionario serway capitulo 15franciscafloresg
 
Las propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraLas propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraKhriszthianxD
 
Gráfica, curvas de nivel, límites
Gráfica, curvas de nivel, límitesGráfica, curvas de nivel, límites
Gráfica, curvas de nivel, límitesJIE MA ZHOU
 
Serie de Fourier
Serie de FourierSerie de Fourier
Serie de Fouriercarlosv33
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuacionesMiguel Doria
 
CIRCUITOS DE SEGUNDO ORDEN RLC.pdf
CIRCUITOS DE SEGUNDO ORDEN RLC.pdfCIRCUITOS DE SEGUNDO ORDEN RLC.pdf
CIRCUITOS DE SEGUNDO ORDEN RLC.pdfgabyhuacac1
 
Ejercicios unidad 5
Ejercicios unidad 5Ejercicios unidad 5
Ejercicios unidad 5thomasbustos
 
Regresion Polinomial
Regresion PolinomialRegresion Polinomial
Regresion PolinomialDiego Egas
 
Ejercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de ForurierEjercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de ForurierSantiago Salinas Lopez
 

Tendances (20)

Solucionario ecuaciones diferenciales dennis zill[7a edicion]
Solucionario ecuaciones diferenciales dennis zill[7a edicion]Solucionario ecuaciones diferenciales dennis zill[7a edicion]
Solucionario ecuaciones diferenciales dennis zill[7a edicion]
 
Grupo6 monografía
Grupo6 monografíaGrupo6 monografía
Grupo6 monografía
 
Modelado de sistema rlc y tanques comunicantes matlab simulink
Modelado de sistema rlc y tanques comunicantes matlab simulinkModelado de sistema rlc y tanques comunicantes matlab simulink
Modelado de sistema rlc y tanques comunicantes matlab simulink
 
Proyecto de calculo3 (1) firme
Proyecto de calculo3 (1) firmeProyecto de calculo3 (1) firme
Proyecto de calculo3 (1) firme
 
Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variables
 
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
 
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIAAPLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA  INGENIERIA
APLICACIONES DE LA SERIE DE FOURIER EN EL AREA DE LA INGENIERIA
 
ejercicio grupo 4 dinamica.pdf
ejercicio grupo 4 dinamica.pdfejercicio grupo 4 dinamica.pdf
ejercicio grupo 4 dinamica.pdf
 
Solucionario serway capitulo 15
Solucionario serway capitulo 15Solucionario serway capitulo 15
Solucionario serway capitulo 15
 
Las propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraLas propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-para
 
Gráfica, curvas de nivel, límites
Gráfica, curvas de nivel, límitesGráfica, curvas de nivel, límites
Gráfica, curvas de nivel, límites
 
Serie de Fourier
Serie de FourierSerie de Fourier
Serie de Fourier
 
Tablas para resolver ejercicios de mecánica de fluidos
Tablas para resolver ejercicios de mecánica de fluidosTablas para resolver ejercicios de mecánica de fluidos
Tablas para resolver ejercicios de mecánica de fluidos
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuaciones
 
CIRCUITOS DE SEGUNDO ORDEN RLC.pdf
CIRCUITOS DE SEGUNDO ORDEN RLC.pdfCIRCUITOS DE SEGUNDO ORDEN RLC.pdf
CIRCUITOS DE SEGUNDO ORDEN RLC.pdf
 
Ejercicios unidad 5
Ejercicios unidad 5Ejercicios unidad 5
Ejercicios unidad 5
 
Regresion Polinomial
Regresion PolinomialRegresion Polinomial
Regresion Polinomial
 
Metodo de euler
Metodo de eulerMetodo de euler
Metodo de euler
 
52983063 series-de-fourier
52983063 series-de-fourier52983063 series-de-fourier
52983063 series-de-fourier
 
Ejercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de ForurierEjercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de Forurier
 

Plus de 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
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier Marco Antonio
 
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
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMarco 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
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numéricaMarco Antonio
 

Plus de 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
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier
 
Arquímedes
ArquímedesArquímedes
Arquímedes
 
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...
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
 
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
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numérica
 

MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SEGUNDO ORDEN USANDO FORTRAN 90 Y MATLAB”

  • 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 “MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SEGUNDO ORDEN USANDO FORTRAN 90 Y MATLAB” MARCO ANTONIO ALPACA CHAMBA FÍSICO BÁSICO
  • 2. ENUNCIADO DEL PROBLEMA: Utilice el método de Runge-Kutta con h = 0.25 para aproximar los valores de la solución del problema con valores iniciales: 𝒙(𝟎) = 𝟏/𝟐. 𝒙′(𝟎) = 𝟎. 𝟎 SOLUTION: Usando fortran tenemos: PROGRAM RUNGE_KUTTA_CUARTO_ORDEN REAL X0,X1,Y0,Z0,RK1X,RK1V,RK2X,RK2V,RK3X,RK3V,RK4X,RK4V,H OPEN(UNIT=12,FILE='KUTTA4.TXT',STATUS='UNKNOWN',ACTION='WRITE') PRINT*,'' PRINT*, '================================================================== ===' PRINT*,'METHOD DE RUNGE KUTTA DE CUARTO ORDEN CON CONDICIONES INICIALES PARA ' PRINT*,'ECUACIONES DIFERENCIALES ORDINARIAS DE SEGUNDO ORDEN' PRINT*,'============================================================ ==========' PRINT*,'' PRINT*,'INGRESAR EL VALOR INICIAL DE X:' READ(5,*)X0 PRINT*, 'INGRESAR EL VALOR FINAL DE X:' READ*, X1 PRINT*, 'INGRESAR EL VALOR INICAL DE Y(EN X0):' READ*, Y0 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=(X1-X0)/H K=1 PRINT 50 50 FORMAT(3X,'DATOS',5X,'TIME',8X,'POSITION',15X,"VELOCIDAD") 70 WRITE(12,60)K,X0,Y0,Z0 PRINT'(2X,I3,8X,F4.2,6X,F12.6,10X,F12.6)',K,X0,Y0,Z0 IF (X0.LE.(X1-0.0000001))THEN DO WHILE (K < N+2) RK1X=H*Z0 RK1V=H*F(X0,Y0,Z0) RK2X=H*(Z0+0.5*RK1V)
  • 3. RK2V=H*F(X0+0.5*H,Y0+0.5*RK1X,Z0+0.5*RK1V) RK3X=H*(Z0+0.5*RK2V) RK3V=H*F(X0+0.5*H,Y0+0.5*RK2X,Z0+0.5*RK2V) RK4X=H*(Z0+RK3V) RK4V=H*F(X0+H,Y0+RK3X,Z0+RK3V) Y0=Y0+(RK1X +2*RK2X +2*RK3X+RK4X)/6 Z0=Z0+(RK1V+2*(RK2V+RK3V)+RK4V)/6 X0=X0+H K=K+1 GOTO 70 ENDDO END IF 60 FORMAT (2X,I3,8X,F4.2,6X,F12.6,10X,F12.6) PRINT*,'' STOP END PROGRAM FUNCTION F(X,Y,Z) REAL X,Y,Z F=-4*Z-16*Y+0*X RETURN END FUNCTION Usando Matlab tenemos: clear;
  • 4. clc; t0=0.0; tf=2.0; x0=0.5; y0=0.0; f=@(t,x,y)y+0*x+0*t; g=@(t,x,y)-4*y-16*x+0*t; t=(t0:0.25:tf); g1=@(t)sqrt(3)./3.*exp(-2*t).*cos(t.*2*sqrt(3)-pi./6); T=(t0:0.02:2.5); xe=g1(T); n=length(t)-1; h=(tf-t0)/n; t(1)=t0;x(1)=x0;y(1)=y0; fprintf('n') disp(' 4th order Runge-Kutta simulation') disp('______________________________________________') disp('datos t x y ') disp('_______________________________________________') fprintf('n') % 4th order Runge-Kutta simulation fprintf('% 4.1f %6.2f %12.6f %12.6fn',1,t0,x0,y0) for j=1:length(t)-1 rk1=h*f(t(j),x(j),y(j)); m1=h*g(t(j),x(j),y(j)); rk2=h*f(t(j)+0.5*h,x(j)+0.5*rk1,y(j)+m1*0.5); m2=h*g(t(j)+0.5*h,x(j)+0.5*rk1,y(j)+m1*0.5); rk3=h*f(t(j)+0.5*h,x(j)+0.5*rk2,y(j)+m2*0.5); m3=h*g(t(j)+0.5*h,x(j)+0.5*rk2,y(j)+m2*0.5); rk4=h*f(t(j)+h,x(j)+rk3,y(j)+m3); m4=h*g(t(j)+h,x(j)+rk3,y(j)+m3); x(j+1)=x(j)+(rk1+2*rk2+2*rk3+rk4)./6; y(j+1)=y(j)+(m1+2*m2+2*m3+m4)./6; t(j+1)=t(j)+h; fprintf('% 4.1f %6.2f %12.6f %12.6fn',j+1,t(j+1),x(j+1),y(j+1)) end fprintf('Final answer n'); fprintf('%12.6fn',y(n+1)); fprintf('n') % Plot figure1=figure('color',[1 1 1]); plot(t,x,'--O',T,xe,'r-'); grid legend('Runge Kutta','Exact',1); xlabel('Time(t)'); ylabel('Amplitude');