SlideShare una empresa de Scribd logo
1 de 7
Carlos A. Aguilar A.               Control de Maquinas Eléctricas              Tarea1-30/01/2012


Métodos Numéricos para la Solución de Ecuaciones Diferenciales
Método de Euler

El método de Euler, es un procedimiento numérico de primer orden para resolver ecuaciones
diferenciales ordinarias con un valor inicial dado. Es el más básico de los métodos explícitos para la
integración numérica de ecuaciones diferenciales ordinarias, y es la forma más simple del método
de Runge-Kutta

Busca aproximar la solución del problema de valor inicial, usando los dos primeros términos de la
expansión de Taylor de la función , basándose en el estimado del próximo valor de después de
un tiempo de integración o paso de integración .




Método de Runge-Kutta

Procedimiento numérico que, al igual que el de Euler, sirve para resolver ecuaciones diferenciales
ordinarias con un valor inicial dado.

Sea un problema de valor inicial



La solución de este problema está dada por




donde yn + 1 es la aproximación de y(tn + 1), y




                                                                                                    1
Carlos A. Aguilar A.            Control de Maquinas Eléctricas               Tarea1-30/01/2012

A continuación se presenta el código en MATLAB con el cual es posible resolver por los métodos
de Euler, Runge-Kutta y la función ODE45 con pasos de integración de 0.1, 0.01 y 0.001 la siguiente
ecuación:              A)



Código para la solución de la ecuación “A” por los métodos de Euler, Runge-Kutta 4 y la función
ODE45.

Nota: Esta función (las siguientes 2 líneas de código) se debe escribir en un m-file aparte y
nombrarlo “vdp2.m”, el cual se debe encontrar en la misma carpeta que el otro m-file con el resto
del programa.

function x = vdp(t,y)
x=[y(2); 2*(1-y(1)^2)*y(2)-y(1)+2*sin(3*t)];

clc
clear all
%Propiedades del analisis discreto
a=0;b=20;h=0.01; %Variar el paso e intervalo de integracion aqui
%Declaracion de vectores
t=a:h:b;x1=a:h:b;x2=a:h:b;
%Condiciones iniciales y constantes dadas
u=2;A=2;w=3;x1(1)=2;x2(1)=0;
%Calculo de la solucion aproximada por el metodo de Euler
for n=2:((b-a)/h)+1
x1(n)=x1(n-1)+h*(x2(n-1));
x2(n)=x2(n-1)+h*(u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)+A*sin(w*t(n-1)));
end
hold on
plot(t,x1,'r--')
%Calculo de la solucion aproximada por el metodo de Runge-Kutta 4
for n=2:((b-a)/h)+1
k1=h*x2(n-1);
l1=h*[u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)+A*sin(w*t(n-1))];
k2=h*(x2(n-1)+(1/2)*l1);
l2=h*[u*(1-(x1(n-1)+(1/2)*k1)^2)*(x2(n-1)+(1/2)*l1)-(x1(n-
1)+(1/2)*k1)+A*sin(w*(t(n-1)+(1/2)*h))];
k3=h*[x2(n-1)+(1/2)*l2];
l3=h*[u*(1-(x1(n-1)+(1/2)*k2)^2)*(x2(n-1)+(1/2)*l2)-(x1(n-
1)+(1/2)*k2)+A*sin(w*(t(n-1)+(1/2)*h))];
k4=h*(x2(n-1)+l3);
l4=h*[u*(1-(x1(n-1)+k3)^2)*(x2(n-1)+l3)-(x1(n-1)+k3)+A*sin(w*(t(n-1)+h))];
x1(n)=x1(n-1)+(1/6)*(k1+2*k2+2*k3+k4);
x2(n)=x2(n-1)+(1/6)*(l1+2*l2+2*l3+l4);
end
plot(t,x1,'k:')
%Calculo de la solucion aproximada usando la funcion ODE45 que corresponde
%al me metodo de Runge-Kutta(4,5) de paso adaptativo
options = odeset('InitialStep',h,'MaxStep',h);
[t,y] = ode45(@vdp,[a,b],[x1(1); x2(1)],options);
plot(t,y(:,1))
%Etiquetado y leyendas en la grafica
legend('Euler','RK4','ODE45')
title(['SOLUCION APROXIMADA DE LA ECUACION "A" h=',num2str(h),' seg'])
xlabel('TIEMPO(t)')
ylabel('SOLUCION(x)')


                                                                                                 2
Carlos A. Aguilar A.          Control de Maquinas Eléctricas             Tarea1-30/01/2012

Graficas de la solución de “A” por los métodos de Euler, Runge-Kutta 4 y la función ODE45 para
distintos pasos de integración:




                                                                                            3
Carlos A. Aguilar A.   Control de Maquinas Eléctricas   Tarea1-30/01/2012




                                                                        4
Carlos A. Aguilar A.            Control de Maquinas Eléctricas               Tarea1-30/01/2012

A continuación se presenta el código en MATLAB con el cual es posible resolver por los métodos
de Euler, Runge-Kutta y la función ODE45 con pasos de integración de 0.1, 0.01 y 0.001 la siguiente
ecuación:                  B)



Código para la solución de la ecuación “B” por los métodos de Euler, Runge-Kutta 4 y la función
ODE45.

Nota: Esta función (las siguientes 2 líneas de código) se debe escribir en un m-file aparte y
nombrarlo “vdp2.m”, el cual se debe encontrar en la misma carpeta que el otro m-file con el resto
del programa.

function x = vdp2(t,y)
x=[y(2); 2*(1-y(1)^2)*y(2)-y(1)];

clc
clear all
%Propiedades del analisis discreto
a=0;b=20;h=0.1; %Variar el paso e intervalo de integracion aqui
%Declaracion de vectores
t=a:h:b;x1=a:h:b;x2=a:h:b;
%Condiciones iniciales y constantes dadas
u=2;A=2;w=3;x1(1)=2;x2(1)=0;
%Calculo de la solucion aproximada por el metodo de Euler
for n=2:((b-a)/h)+1
x1(n)=x1(n-1)+h*(x2(n-1));
x2(n)=x2(n-1)+h*(u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1));
end
hold on
plot(t,x1,'r--')
%Calculo de la solucion aproximada por el metodo de Runge-Kutta 4
for n=2:((b-a)/h)+1
k1=h*x2(n-1);
l1=h*[u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)];
k2=h*(x2(n-1)+(1/2)*l1);
l2=h*[u*(1-(x1(n-1)+(1/2)*k1)^2)*(x2(n-1)+(1/2)*l1)-(x1(n-1)+(1/2)*k1)];
k3=h*[x2(n-1)+(1/2)*l2];
l3=h*[u*(1-(x1(n-1)+(1/2)*k2)^2)*(x2(n-1)+(1/2)*l2)-(x1(n-1)+(1/2)*k2)];
k4=h*(x2(n-1)+l3);
l4=h*[u*(1-(x1(n-1)+k3)^2)*(x2(n-1)+l3)-(x1(n-1)+k3)];
x1(n)=x1(n-1)+(1/6)*(k1+2*k2+2*k3+k4);
x2(n)=x2(n-1)+(1/6)*(l1+2*l2+2*l3+l4);
end
plot(t,x1,'k:')
%Calculo de la solucion aproximada usando la funcion ODE45 que corresponde
%al me metodo de Runge-Kutta(4,5) de paso adaptativo
options = odeset('InitialStep',h,'MaxStep',h);
[t,y] = ode45(@vdp2,[a,b],[x1(1); x2(1)],options);
plot(t,y(:,1))

%Etiquetado y leyendas en la grafica
legend('Euler','RK4','ODE45')
title(['SOLUCION APROXIMADA DE LA ECUACION "B"            h=',num2str(h),' seg'])
xlabel('TIEMPO(t)')
ylabel('SOLUCION(x)')



                                                                                                 5
Carlos A. Aguilar A.          Control de Maquinas Eléctricas             Tarea1-30/01/2012

Graficas de la solución de “B” por los métodos de Euler, Runge-Kutta 4 y la función ODE45 para
distintos pasos de integración:




                                                                                            6
Carlos A. Aguilar A.   Control de Maquinas Eléctricas   Tarea1-30/01/2012




                                                                        7

Más contenido relacionado

La actualidad más candente

Solucionario ecuaciones diferenciales
Solucionario ecuaciones diferencialesSolucionario ecuaciones diferenciales
Solucionario ecuaciones diferenciales
Daniel Mg
 
Unidad 1 3 estabilidad y determinacion de estructuras parte 1
Unidad 1 3 estabilidad y determinacion de estructuras parte 1Unidad 1 3 estabilidad y determinacion de estructuras parte 1
Unidad 1 3 estabilidad y determinacion de estructuras parte 1
MIKYRoll
 
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no linealesEcuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Kike Prieto
 
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILLSOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
Juan Manuel Garcia Ayala
 

La actualidad más candente (20)

Flujo eléctrico
Flujo eléctricoFlujo eléctrico
Flujo eléctrico
 
Gauss con pivoteo
Gauss con pivoteoGauss con pivoteo
Gauss con pivoteo
 
Solucionario ecuaciones diferenciales
Solucionario ecuaciones diferencialesSolucionario ecuaciones diferenciales
Solucionario ecuaciones diferenciales
 
Estabilidad de cuerpos sumergidos y flotantes
Estabilidad de cuerpos sumergidos y flotantesEstabilidad de cuerpos sumergidos y flotantes
Estabilidad de cuerpos sumergidos y flotantes
 
Que es el wronskiano
Que es el wronskianoQue es el wronskiano
Que es el wronskiano
 
Unidad 1 3 estabilidad y determinacion de estructuras parte 1
Unidad 1 3 estabilidad y determinacion de estructuras parte 1Unidad 1 3 estabilidad y determinacion de estructuras parte 1
Unidad 1 3 estabilidad y determinacion de estructuras parte 1
 
Esfuerzo cortante transversal en vigas (ejercicios resueltos)
Esfuerzo cortante transversal en vigas (ejercicios resueltos)Esfuerzo cortante transversal en vigas (ejercicios resueltos)
Esfuerzo cortante transversal en vigas (ejercicios resueltos)
 
ejercicio de deformacion axial
ejercicio de deformacion axialejercicio de deformacion axial
ejercicio de deformacion axial
 
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no linealesEcuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
 
Reglas de derivadas e integrales
Reglas de derivadas e integralesReglas de derivadas e integrales
Reglas de derivadas e integrales
 
VECTORES EN R3
VECTORES EN R3VECTORES EN R3
VECTORES EN R3
 
Conjunto Fundamental de Soluciones
Conjunto Fundamental de SolucionesConjunto Fundamental de Soluciones
Conjunto Fundamental de Soluciones
 
Hallar la ecuación de la curva utilizando 3 puntos - EPN
Hallar la ecuación de la curva utilizando 3 puntos - EPNHallar la ecuación de la curva utilizando 3 puntos - EPN
Hallar la ecuación de la curva utilizando 3 puntos - EPN
 
Edo fin
Edo finEdo fin
Edo fin
 
Método de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosMétodo de jacobi Métodos Númericos
Método de jacobi Métodos Númericos
 
Fluidos actividad 2
Fluidos actividad 2Fluidos actividad 2
Fluidos actividad 2
 
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILLSOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
SOLUCIONARIO ECUACIONES DIFERENCIALES DENNIS G. ZILL
 
Deflexion de una_viga_aplicacion_de_ecua
Deflexion de una_viga_aplicacion_de_ecuaDeflexion de una_viga_aplicacion_de_ecua
Deflexion de una_viga_aplicacion_de_ecua
 
Electrostática
ElectrostáticaElectrostática
Electrostática
 
EJERCICIOS RESUELTOS SOBRE EL MÉTODO DE NEWTON Y EL MÉTODO DE LA SECANTE
EJERCICIOS RESUELTOS SOBRE EL MÉTODO DE NEWTON Y EL MÉTODO DE LA SECANTEEJERCICIOS RESUELTOS SOBRE EL MÉTODO DE NEWTON Y EL MÉTODO DE LA SECANTE
EJERCICIOS RESUELTOS SOBRE EL MÉTODO DE NEWTON Y EL MÉTODO DE LA SECANTE
 

Similar a Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Runge-Kutta 4 y la Función de MATLAB ODE45 (Comparativa)

Comp runge kutta[1] (1)
Comp runge kutta[1] (1)Comp runge kutta[1] (1)
Comp runge kutta[1] (1)
marticalu001
 
Universidad politecnica salesiana
Universidad politecnica salesianaUniversidad politecnica salesiana
Universidad politecnica salesiana
Jose Luis Tafur
 
Ejercicio RCL Resuelto con Matlab
Ejercicio RCL Resuelto con MatlabEjercicio RCL Resuelto con Matlab
Ejercicio RCL Resuelto con Matlab
Alexandra Rojas
 
Universidad politecnica salesian
Universidad politecnica salesianUniversidad politecnica salesian
Universidad politecnica salesian
Jose Luis Tafur
 
Ecuaciones Diferenciales
Ecuaciones DiferencialesEcuaciones Diferenciales
Ecuaciones Diferenciales
Jose Luis Tafur
 
Mtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo finalMtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo final
AmbarS
 
Mtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo finalMtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo final
AmbarS
 

Similar a Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Runge-Kutta 4 y la Función de MATLAB ODE45 (Comparativa) (20)

Método Runge Kutta. Computación Aplicada
Método Runge Kutta. Computación AplicadaMétodo Runge Kutta. Computación Aplicada
Método Runge Kutta. Computación Aplicada
 
Comp runge kutta[1] (1)
Comp runge kutta[1] (1)Comp runge kutta[1] (1)
Comp runge kutta[1] (1)
 
Lab06 521230-2018
Lab06 521230-2018Lab06 521230-2018
Lab06 521230-2018
 
Universidad politecnica salesiana
Universidad politecnica salesianaUniversidad politecnica salesiana
Universidad politecnica salesiana
 
Ejercicio RCL Resuelto con Matlab
Ejercicio RCL Resuelto con MatlabEjercicio RCL Resuelto con Matlab
Ejercicio RCL Resuelto con Matlab
 
Universidad politecnica salesian
Universidad politecnica salesianUniversidad politecnica salesian
Universidad politecnica salesian
 
Ecuaciones Diferenciales
Ecuaciones DiferencialesEcuaciones Diferenciales
Ecuaciones Diferenciales
 
Met runge kutta alirio marquez
Met runge kutta alirio marquezMet runge kutta alirio marquez
Met runge kutta alirio marquez
 
Metodos numericos euler_euler_modificado
Metodos numericos euler_euler_modificadoMetodos numericos euler_euler_modificado
Metodos numericos euler_euler_modificado
 
Metodos numéricos (euler, euler modificado, rk)
Metodos numéricos (euler, euler modificado, rk)Metodos numéricos (euler, euler modificado, rk)
Metodos numéricos (euler, euler modificado, rk)
 
Euler y runge kutta
Euler y runge kuttaEuler y runge kutta
Euler y runge kutta
 
Mtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo finalMtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo final
 
Mtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo finalMtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo final
 
Metodo de Runge Kutta en Matlab
Metodo de Runge Kutta en Matlab Metodo de Runge Kutta en Matlab
Metodo de Runge Kutta en Matlab
 
RESOLUCION Capitulo4 soria porras
RESOLUCION Capitulo4 soria porrasRESOLUCION Capitulo4 soria porras
RESOLUCION Capitulo4 soria porras
 
Ode45
Ode45Ode45
Ode45
 
2011 runge kutta
2011 runge kutta2011 runge kutta
2011 runge kutta
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
 
Informe ecuaciones lineales, diferenciales en matlab
Informe ecuaciones lineales, diferenciales en matlabInforme ecuaciones lineales, diferenciales en matlab
Informe ecuaciones lineales, diferenciales en matlab
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluz
 

Último

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 

Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Runge-Kutta 4 y la Función de MATLAB ODE45 (Comparativa)

  • 1. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 Métodos Numéricos para la Solución de Ecuaciones Diferenciales Método de Euler El método de Euler, es un procedimiento numérico de primer orden para resolver ecuaciones diferenciales ordinarias con un valor inicial dado. Es el más básico de los métodos explícitos para la integración numérica de ecuaciones diferenciales ordinarias, y es la forma más simple del método de Runge-Kutta Busca aproximar la solución del problema de valor inicial, usando los dos primeros términos de la expansión de Taylor de la función , basándose en el estimado del próximo valor de después de un tiempo de integración o paso de integración . Método de Runge-Kutta Procedimiento numérico que, al igual que el de Euler, sirve para resolver ecuaciones diferenciales ordinarias con un valor inicial dado. Sea un problema de valor inicial La solución de este problema está dada por donde yn + 1 es la aproximación de y(tn + 1), y 1
  • 2. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 A continuación se presenta el código en MATLAB con el cual es posible resolver por los métodos de Euler, Runge-Kutta y la función ODE45 con pasos de integración de 0.1, 0.01 y 0.001 la siguiente ecuación: A) Código para la solución de la ecuación “A” por los métodos de Euler, Runge-Kutta 4 y la función ODE45. Nota: Esta función (las siguientes 2 líneas de código) se debe escribir en un m-file aparte y nombrarlo “vdp2.m”, el cual se debe encontrar en la misma carpeta que el otro m-file con el resto del programa. function x = vdp(t,y) x=[y(2); 2*(1-y(1)^2)*y(2)-y(1)+2*sin(3*t)]; clc clear all %Propiedades del analisis discreto a=0;b=20;h=0.01; %Variar el paso e intervalo de integracion aqui %Declaracion de vectores t=a:h:b;x1=a:h:b;x2=a:h:b; %Condiciones iniciales y constantes dadas u=2;A=2;w=3;x1(1)=2;x2(1)=0; %Calculo de la solucion aproximada por el metodo de Euler for n=2:((b-a)/h)+1 x1(n)=x1(n-1)+h*(x2(n-1)); x2(n)=x2(n-1)+h*(u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)+A*sin(w*t(n-1))); end hold on plot(t,x1,'r--') %Calculo de la solucion aproximada por el metodo de Runge-Kutta 4 for n=2:((b-a)/h)+1 k1=h*x2(n-1); l1=h*[u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)+A*sin(w*t(n-1))]; k2=h*(x2(n-1)+(1/2)*l1); l2=h*[u*(1-(x1(n-1)+(1/2)*k1)^2)*(x2(n-1)+(1/2)*l1)-(x1(n- 1)+(1/2)*k1)+A*sin(w*(t(n-1)+(1/2)*h))]; k3=h*[x2(n-1)+(1/2)*l2]; l3=h*[u*(1-(x1(n-1)+(1/2)*k2)^2)*(x2(n-1)+(1/2)*l2)-(x1(n- 1)+(1/2)*k2)+A*sin(w*(t(n-1)+(1/2)*h))]; k4=h*(x2(n-1)+l3); l4=h*[u*(1-(x1(n-1)+k3)^2)*(x2(n-1)+l3)-(x1(n-1)+k3)+A*sin(w*(t(n-1)+h))]; x1(n)=x1(n-1)+(1/6)*(k1+2*k2+2*k3+k4); x2(n)=x2(n-1)+(1/6)*(l1+2*l2+2*l3+l4); end plot(t,x1,'k:') %Calculo de la solucion aproximada usando la funcion ODE45 que corresponde %al me metodo de Runge-Kutta(4,5) de paso adaptativo options = odeset('InitialStep',h,'MaxStep',h); [t,y] = ode45(@vdp,[a,b],[x1(1); x2(1)],options); plot(t,y(:,1)) %Etiquetado y leyendas en la grafica legend('Euler','RK4','ODE45') title(['SOLUCION APROXIMADA DE LA ECUACION "A" h=',num2str(h),' seg']) xlabel('TIEMPO(t)') ylabel('SOLUCION(x)') 2
  • 3. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 Graficas de la solución de “A” por los métodos de Euler, Runge-Kutta 4 y la función ODE45 para distintos pasos de integración: 3
  • 4. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 4
  • 5. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 A continuación se presenta el código en MATLAB con el cual es posible resolver por los métodos de Euler, Runge-Kutta y la función ODE45 con pasos de integración de 0.1, 0.01 y 0.001 la siguiente ecuación: B) Código para la solución de la ecuación “B” por los métodos de Euler, Runge-Kutta 4 y la función ODE45. Nota: Esta función (las siguientes 2 líneas de código) se debe escribir en un m-file aparte y nombrarlo “vdp2.m”, el cual se debe encontrar en la misma carpeta que el otro m-file con el resto del programa. function x = vdp2(t,y) x=[y(2); 2*(1-y(1)^2)*y(2)-y(1)]; clc clear all %Propiedades del analisis discreto a=0;b=20;h=0.1; %Variar el paso e intervalo de integracion aqui %Declaracion de vectores t=a:h:b;x1=a:h:b;x2=a:h:b; %Condiciones iniciales y constantes dadas u=2;A=2;w=3;x1(1)=2;x2(1)=0; %Calculo de la solucion aproximada por el metodo de Euler for n=2:((b-a)/h)+1 x1(n)=x1(n-1)+h*(x2(n-1)); x2(n)=x2(n-1)+h*(u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)); end hold on plot(t,x1,'r--') %Calculo de la solucion aproximada por el metodo de Runge-Kutta 4 for n=2:((b-a)/h)+1 k1=h*x2(n-1); l1=h*[u*(1-x1(n-1)^2)*x2(n-1)-x1(n-1)]; k2=h*(x2(n-1)+(1/2)*l1); l2=h*[u*(1-(x1(n-1)+(1/2)*k1)^2)*(x2(n-1)+(1/2)*l1)-(x1(n-1)+(1/2)*k1)]; k3=h*[x2(n-1)+(1/2)*l2]; l3=h*[u*(1-(x1(n-1)+(1/2)*k2)^2)*(x2(n-1)+(1/2)*l2)-(x1(n-1)+(1/2)*k2)]; k4=h*(x2(n-1)+l3); l4=h*[u*(1-(x1(n-1)+k3)^2)*(x2(n-1)+l3)-(x1(n-1)+k3)]; x1(n)=x1(n-1)+(1/6)*(k1+2*k2+2*k3+k4); x2(n)=x2(n-1)+(1/6)*(l1+2*l2+2*l3+l4); end plot(t,x1,'k:') %Calculo de la solucion aproximada usando la funcion ODE45 que corresponde %al me metodo de Runge-Kutta(4,5) de paso adaptativo options = odeset('InitialStep',h,'MaxStep',h); [t,y] = ode45(@vdp2,[a,b],[x1(1); x2(1)],options); plot(t,y(:,1)) %Etiquetado y leyendas en la grafica legend('Euler','RK4','ODE45') title(['SOLUCION APROXIMADA DE LA ECUACION "B" h=',num2str(h),' seg']) xlabel('TIEMPO(t)') ylabel('SOLUCION(x)') 5
  • 6. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 Graficas de la solución de “B” por los métodos de Euler, Runge-Kutta 4 y la función ODE45 para distintos pasos de integración: 6
  • 7. Carlos A. Aguilar A. Control de Maquinas Eléctricas Tarea1-30/01/2012 7