Sei sulla pagina 1di 6

RESOLUCIN DE ECUACIONES DIFERENCIALES

ORDINARIAS APLICANDO LA RUTINA ODE45 DE MATLAB

Ctedra de VMyDM 2012

ECUACIONES DIFERENCIALES. REPASO


Definicin
Una ecuacin que establece una relacin entre la variable independiente x, y la funcin buscada y = f(x) y
n

sus derivadas y, y..y se llama ecuacin diferencial.

Llamamos integrar o solucionar la ecuacin diferencial al proceso por el que se encuentra la relacin entre
x e y.

Clasificacin
Las ecuaciones diferenciales se clasifican segn:
1. Ec. diferenciales ordinarias o en derivadas parciales


Las ecuaciones diferenciales ordinarias contienen derivadas respecto a una sola variable
independiente.

Las ecuaciones diferenciales en derivadas parciales contienen derivadas parciales


respecto a dos o ms variables independientes.

2. Orden de la Ec. diferencial


Se llama orden de la ecuacin diferencial al orden de la derivada superior que interviene en la
ecuacin.

3. Grado de la Ec. diferencial


Si F es un polinomio, se define grado de la ecuacin diferencial como el grado de y(x) y sus
derivadas.

4. Linealidad de la ecuacin diferencial


n-1

Se dice que una ecuacin diferencial yn = f(x,y,y..y ) es lineal cuando f es una funcin lineal de
n-1

y, y y . (grado 1 y que no intervengan funciones trigonomtricas respecto a y y sus derivadas) y


sus coeficientes son constantes o solo dependen de la variable independiente.

5. Ec. diferencial a coeficientes constantes o variables


Una ecuacin diferencial es a coeficientes constantes cuando no dependen de la variable
independiente.

6. Ec. Diferenciales Homogneas


Son aquellas ecuaciones diferenciales que no poseen trmino independiente. En caso de contener un
trmino que no dependa de la variable independiente, sern NO homogneas.

Soluciones a ecuaciones diferenciales


Se llama solucin (o integral) de la ecuacin diferencial a cualquier funcin y = y(x) que introducida en la
ecuacin diferencial la transforma en igualdad.
Los tipos de soluciones son:
1. Explcitas: la variable dependiente y se expresa tan solo en trminos de la variable independiente x
y constantes.
2. Implcitas: se trata de una relacin G(x,y) = 0 en la que no se puede despejar y mediante funciones
elementales. Son soluciones todas las y(x) que cumplen G(x,y) = 0.
Se dice que la familia n-paramtrica:
G(x, y, C1, C2. Cn) = 0
es la solucin general de una ecuacin diferencial de orden n, si toda solucin de esta ecuacin se puede
obtener partiendo de esta familia. Cada vez que se asignan valores a los parmetros se tiene una solucin
particular. Una ecuacin diferencial puede tener infinitas soluciones particulares.

Problema de valor inicial


Se llama problema de valor inicial al problema:
Resolver: yn = f(x, y, y yn-1)
Sujeto a: y(x0) = y0, y(x0) = y1. yn-1(x0) = yn-1
Donde y0, y1yn-1 son constantes reales llamadas condiciones iniciales.

Mtodos de resolucin de ecuaciones diferenciales


No existe un mtodo nico para encontrar aquella funcin que cumpla con la ecuacin diferencial. Se podra
decir que para cada caso en particular se puede elegir el mtodo que ms convenga: exacta, transformada
de Laplace, numrica, etc.
En este apunte en particular nos interesan los mtodos de resolucin numricos de ecuaciones
diferenciales ordinarias empleando Matlab, a travs de sus rutinas ode23 y ode45.

INTEGRACIN NUMRICA DE ODEs EN MATLAB


Las rutinas ode23 y ode45 son algoritmos de clculo empleados para encontrar solucin numrica a
ecuaciones diferenciales ordinarias (ODE). Utilizan los mtodos de integracin incrementales de RungeKutta.
ode23 emplea Runge-Kutta de 2 y 3 orden para solu ciones que requieran baja precisin. ode45 aplica
Runge-Kutta de 4 y 5 orden para soluciones precis as.

ode45 est diseado para resolver el siguiente problema:

dx
= f (t , x)
dt

x(t 0 ) = x0

(1)

Donde t es la variable independiente, x es el vector de variables dependientes (soluciones) y f(x, t) es una


funcin que relaciona x con t. La rutina de clculo ode45 podr ser aplicada cuando el problema (ODE) est
reducido a la forma en que se presenta la ec. (1), con sus respectivas condiciones iniciales.
La ec. (1) es una ecuacin diferencial ordinaria de 1 orden.

Si el problema vibratorio que intentamos resolver se describe mediante una ecuacin (o un grupo de
ecuaciones) diferencial ordinaria de 2 orden o ms , para aplicar ode45 ser necesario reducir la ecuacin
diferencial a un sistema de ecuaciones diferenciales de 1 orden. Tendremos tantas ecuaciones
diferenciales de 1 orden como orden de la ecuacin diferencial ordinaria a solucionar. A continuacin se
expresa con ms detalles.

Dado un problema descrito por medio de una o varias ODE, los pasos necesarios que se deben seguir para
solucionar aplicando ode45 se resumen a continuacin.

1 Paso: Reducir las ODEs a una serie de ODEs de 1 orden


Supongamos que trabajamos con la siguiente ODE lineal de 2 orden:

m &y& + c y& + k y = 5

y 0 = 3 y& 0 = 1

(2)

Al ser una ODE de 2 orden, reduciremos el problema a una serie de 2 ODEs de 1 orden.
Definimos el vector x, que tendr 2 componentes:

y
x=
y&

(3)

d
x(1) = x(2)
dt
d
1
x(2) = (5 c x(2) k x(1) )
dt
m

(4)

La serie de ODEs de 1 orden resulta:

De esta forma reducimos el problema a 2 ecuaciones diferenciales ordinarias de 1 orden que podrn ser
resueltas aplicando ode45.

Qu sucede si el sistema vibratorio que deseamos resolver posee ms de un grado de libertad?


Tendremos tantas ecuaciones de movimiento como grado de libertad tenga el sistema vibratorio.

Supongamos que agregamos la siguiente ODE lineal de 3 grado:

d 3z d 2z
+
z =t
dt 3 dt 2

z 0 = 0, z&0 = 0, &z&0 = 1

(5)

Se podrn resolver ambas ODEs, para las variables y - z simultneamente, agregando al vector x las
componentes que resultan de reducir la ODE (5) a una serie de ODEs de 1 orden. (Resultan 3 ODEs de 1
orden).
Proponemos las siguientes componentes de x:

x(3) = z
dz
dt
d 2z
x(5) = 2
dt

x(4) =

(6)

y
y&

x = z

z&
&z&

(7)

Luego el vector x resulta:

Con sus respectivas condiciones iniciales:

dy
dz
x t =0 = y t =0 ,
, z t =0 ,
dt t = 0
dt

,
t =0

d 2z
dt 2

t =0

(8)

Se debe mencionar que el orden en que aparecen las componentes del vector x es a eleccin. Se podra
elegir cualquier disposicin alternativa. Una vez elegida las posiciones de cada variable dependiente dentro
del vector x, debe ser respetada.
Finalmente el sistema de ODEs resulta (5 ODEs de 1 orden):

d
dt
d
dt
d
dt
d
dt
d
dt

x(1) = x(2)
x(2) =

1
(5 c x(2) k x(1) )
m

x(3) = x(4)

(9)

x(4) = x(5)
x(5) = t x(5) + x(3)

En resumen, ode45 nos permite resolver un nmero arbitrario de ODEs de 2 orden o superior.

Lo

importante es reducir el sistema a una serie de ODEs de 1 orden y respetar la configuracin adoptada para
el vector solucin x.

Lo anterior es equivalente a expresar las ecuaciones de movimiento en Formato Espacio de Estado. Ver
pginas 407-409 del libro B-M.

2 Paso: Aplicar la rutina ode45


Una vez obtenido el sistema de ODEs de 1 orden, es posible aplicar el comando ode45 de Matlab.
Se presenta bajo la siguiente forma:

[t, x] = ode45(@fname, tspan, xinit, options)


Donde:


fname es el nombre de la rutina m-file usada para definir los 2 miembros de las ODEs de 1 orden
resultantes al descomponer las ODEs a resolver. Son las funciones a integrar.

tspan es el vector tiempo en el cual se definen los lmites de integracin y el incremento de tiempo
utilizado para la integracin con Runge-Kutta. Por ejemplo, si se desea integrar entre t = 0 y t = 10,
con 100 incrementos de tiempo, el vector tiempo resulta: tspan

= [0:0.1:10].

xinit es el vector condiciones iniciales. La longitud del vector xinit se corresponde con el nmero
de ODEs de 1 resultantes al descomponer las ODEs a resolver.

options son entradas adicionales que pueden ser introducidas en el comando ode45. Para ms
detalle consultar help

ode45. Se recomienda utilizar las opciones por defecto.

t es el vector tiempo resultante al ejecutar ode45. Es la variable independiente. La longitud de este


vector no es necesariamente la de tspan.

x es la solucin. Es el objetivo del problema. Es una matriz de tamao length(t) x length(xinit).


Cada columna de x es una variable dependiente diferente. Por ejemplo, si elegimos

x = [ y, y& , z , z&, &z&] y asumimos (por simplicidad) que solo se requieren las soluciones pata t = 0, 1,
2 10 (evaluamos la funcin para 11 tiempo diferentes) obtenemos:

y t = 0 y& t = 0 z t = 0 z& t = 0 &z& t = 0

y t =1 y& t =1 z t =1 z& t =1 &z& t =1

x = ...

...

y t =10 y& t =10 z t =10 z& t =10 &z& t =10

Luego x(1,3) da el valor de z en t = 0, x(7,3) da el valor de z en t = 6 .


Si la configuracin utilizada para x es

x = [ y, y& , z , z&, &z&] , debemos escribir:

[t, x] = ode45(@fname, tspan, xinit, options)


y = x(:,1)
ydot = x(:,2)
z = x(:,3)
zdot = x(:,4)
zdotdot = x(:,5)
De esta forma se han resuelto las ecuaciones diferenciales a travs de la rutina ode45.

(10)

Potrebbero piacerti anche