You are on page 1of 3

syms x; c=x^3-6; ezplot(c);

Simulacin de ecuaciones diferenciales en MATLAB. Con aplicaciones a circuitos elctricos (en tres cortas lecciones)
MATLAB se basa en el uso de scripts y funciones de usuario para simular ecuaciones diferenciales. Los scripts son archivos que se ejecutan lnea a lnea y que pueden a su vez llamar a funciones de MATLAB o funciones definidas por el usuario. Considere por ejemplo, graficar la funcin sin(x) en el intervalo [0 6]. Podemos escribir el cdigo necesario en el archivo primer.m:

x = 0:0.1:6; plot(x,sin(x)) title('Funcion seno de x') xlabel('x [seg]') ylabel('sin(x)') grid


Desde la ventana de comandos de MATLAB slo se escribe

To get started select MATLAB Help or Demos for the Help menu >> primer >>
Al ejecutar el cdigo anterior se genera la siguiente grfica

El siguiente es un script que permite simular la ecuacin diferencial dx/dt = -x, con condicin inicial x(0) = 1.5. Recuerde que sta es una ecuacin diferencial de primer orden. El cdigo completo est en simu.m.

clear all close all x0 = -1.5; [t,x] = ode23('priorden',[0 5],x0);

plot(t,x) title('Solucion de la ED de primer orden') xlabel('t [seg]') ylabel('x(t)')


La ecuacin diferencial es simulada mediante el comando ode23. En el ejemplo, este comando llama a la funcin priorden donde debe estar escrita la ecuacin diferencial. El tiempo de simulacin es entre [0 5] seg y la condicin inicial es x0 = -1. Para poder ejecutar este cdigo, debe estar creada la ecuacin diferencial (es decir, la derivadadx/dt) de forma que MATLAB la entienda. Esto se puede ver en el archivo priorden.m.

function derx = priorden(t,x) a = -1; derx = a*x;


De nuevo, priorden es el nombre del archivo priorden.m. La ecuacin diferencial depende de(t,x). La ecuacin derx = a*x; representa la ecuacin diferencial con coeficiente constante a = -1. Al ejecutar

>> simu
se obtiene la grfica

La solucin analtica x(t) = -1.5*exp(-t) la podemos sobreescribir en la grfica anterior usando el comando hold, plot(t,-1.5*exp(-t),'xr'). Las opciones 'xr' significan que va a graficar cada punto con una 'x' y en color rojo. Vase el archivo simu2.m. El resultado:

continua... Recuerde que


1. 2. MATLAB trabaja con vectores Una de las maneras de escribir ecuaciones diferenciales en MATLAB es por medio de funciones simecdif.m: programa de simulacin de ecuadif.m ecuadif.m: ejemplo de un sistema de ecuaciones diferenciales no lineales (2do

Considere el siguiente ejemplo de un sistema no lineal de segundo orden (dos ecuaciones diferenciales de primer orden):

y y

You might also like