Herramientas computacionales para la matemática MATLAB: Ecuaciones diferenciales. Verónica Borja Macías Junio 2012 1 Matlab Ecuaciones diferenciales Las ecuaciones diferenciales contienen tanto variables dependientes como la derivada de la variable dependiente con respecto a la variable independiente. Por ejemplo: dy =y dt Aunque cualquier símbolo se puede usar para la variable independiente o para la variable dependiente, la variable independiente por defecto en MATLAB es t (y es la elección usual para la mayoría de las formulaciones de ecuación diferencial ordinaria). 2 Matlab Ecuaciones diferenciales dy =y dt Es necesario buscar una función tal que su derivada con respecto a t sea la misma función. Una posible solución es: y = et dy t y = e= dt Por lo general, las ecuaciones diferenciales tienen más de una solución. La siguiente familia de funciones de t se podría expresar mediante la misma ecuación diferencial es: y = Cet Tratemos de resolver la ecuación previa: 3 Matlab Ecuaciones diferenciales Puede especificar la ecuación particular de interés al especificar una condición inicial. Por ejemplo, si y (0) = 1 Entonces C = 1 Una función ligeramente más complicada de t puede ser: dy 2 y = dt t En este caso y = t Ya que dy 2t 2 2 y = 2= t = dt t t 2 4 Matlab Graficación simbólica Usando el Symbolic Math Toolbox la tarea es bastante sencilla empleando la función dsolve: Ejemplo: >> dsolve('Dy=y ' , ' y (0)=1 ') ans = exp(t) >> dsolve( 'Dy=2*y/t ' , ' y( -1 ) =1 ' ) ans = t^2 >> dsolve( 'Dy=2*y/x ' , ' y( - 1 ) = 1 ' , ' x ' ) ans = x^2 5 Matlab Ecuaciones diferenciales Si una ecuación diferencial incluye sólo una primera derivada, se llama ecuación diferencial de primer orden. Las ecuaciones diferenciales de segundo orden incluyen una segunda derivada; las ecuaciones de tercer orden, una tercera derivada, etcétera. Para especificar una derivada de orden superior en la función dsolve, ponga el orden inmediatamente después de la D. d2y = −y 2 dt Ejemplo: >> dsolve( ' D2y=-y ' ) ans = C1*sin(t)+C2*cos (t) 6 Matlab Ecuaciones diferenciales NOTA: No use la letra D en los nombres de sus variable en ecuaciones diferenciales. La función interpretará la D como especificación de una derivada. La función dsolve también se puede usar para resolver sistemas de ecuaciones diferenciales. Primero mencione las ecuaciones a resolver, y luego las condiciones. La función dsolve aceptará hasta 12 entradas dy =x dt dx =y dt Ejemplo: >> [x , y] =dsol ve ('Dx=y ' , ' Dy=x ' ) x= C1*exp (t) -C2*exp(-t) y= C1*exp(t) +C2*exp (-t) 7 Matlab Ejercicios Intentemos resolver estas ecuaciones diferenciales muy simples de manera manual y comprobemos nuestro resultado con MATLAB. dy 1) = sen5 x dx 4) dx − x 2 dy = 0 dy 2) = ( x + 1) 2 dx dy x+6 5) ( x + 1) = dx 3) dx + e dy = 0 dy 6) e = 2x dx 3x x 8