Está en la página 1de 4

1

Utilizacin de Matlab para resolucin de Ecuaciones Diferenciales


DSOLVE Solucin simblica de ecuaciones diferenciales ordnarias
DSOLVE('eqn1','eqn2', ...) acepta ecuaciones simblicas representando
ecuaciones diferenciales ordinarias y condiciones iniciales. Varias ecuaciones o
condiciones iniciales pueden ser agrupadas juntas, separadas por comas, en
un nico argumento de entrada.
Por omisin, la variable independiente es ' t '. La variable independiente puede
ser cambiada de 't' a alguna otra variable simblica incluyendo esa variable
como el ltimo argumento.
La letra 'D' denota derivada con respecto a la variable independiente, en este
caso usualmente d/dt. Una 'D' seguida por un dgito denota derivacin
repetida; por ejemplo, D2 es d^2/dt^2. Cualesquiera caracteres siguiendo
estos operadores de derivacin son tomados como variables dependientes; por
ejemplo, D3y denota la tercera derivada de y(t). Note que los nombres de las
variables simblicas no debern contener la letra 'D'.
Las condiciones iniciales son especificadas por ecuaciones tales como 'y(a)=b'
o 'Dy(a) = b' donde y es una de las variables dependientes y a y b son
constantes. Si el nmero de condiciones iniciales es menor que el nmero de
variables dependientes, las soluciones resultantes obtendrn constantes
arbitrarias, C1, C2, etc.
Son posibles tres diferentes tipos de salidas.
Para una ecuacin y una salida, es retornada la solucin resultante, con
soluciones mltiples para una ecuacin no lineal en un vector simblico.
Para varias ecuaciones e igual nmero de salidas, los resultados son
ordenados en orden lexicogrfico y asignados a las salidas.
Para varias ecuaciones y una nica salida, se retorna una estructura
conteniendo las soluciones.
Si no se encuentra ninguna solucin closed-form (explcita) , se intenta una
solucin implcita. Cuando se retorna una solucin implcita, se da una
advertencia.
Si no se puede calcular una solucin explcita o implcita, entonces se da una
advertencia y se retorna el sym vaco. En algunos casos involucrando
ecuaciones no-lineales, la salida ser una ecuacin diferencial de ms bajo
orden equivalente o una integral.
Ejemplos:
ED de primer orden (sin condiciones iniciales)

dsolve('Dx = -a*x') retorna


ans = exp(-a*t)*C1

ED de primer orden (con variable independiente distinta del default, t , y con


condiciones iniciales)

x = dsolve('Dx = -a*x','x(0) = 1','s') retorna


x = exp(-a*s)
ED de segundo orden y no lineal

y=dsolve('(D2y)^2 + (Dy)^2=1','y(0) = 0','Dy(0) = 1') retorna


y=
sin(t)
Sistema de Ecuaciones Diferenciales (con condiciones iniciales)

S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')


retorna una estructura S con campos
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
ED que no se puede resolver con una funcin explcita

Y=dsolve('Dy = y^2*(1-y^2)')
Advertencia: No puede ser encontrada solucin explcita; se retorna la
solucin implcita.
Y=
t+1/y-log(y)+log(-1+y)+C1=0
dsolve('Df = f + sin(t)', 'f(pi/2) = 0')
dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0')

S = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')


S = dsolve('Du=v, Dv=w, Dw=-u','u(0)=0, v(0)=0, w(0)=1')
w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0')
y = dsolve('D2y = sin(y)'); pretty(y)
Algunos comandos, tales como ode45 (un resolutor de ecuaciones
diferenciales en forma numrica), requiere que su primer argumento
sea una funcin para ser preciso o bien una funcin inline, como en
ode45(f, [0 2], 1).
o una function handle, esto es, el nombre de una funcin built-in o
una funcin M-file precedida por el smbolo especial @, como en
ode45(@func, [0 2], 1)).

y( 0)

y' ( 0)

y Odesolve ( x 150)
2
1
y ( x)
1

10

2
x

15