Ecuaciones Diferenciales Curso 15‐16 Cálculo II Prácticas Matlab Práctica 11 (3/05/2016) Objetivos o o Representar las soluciones de una e.d.o. Resolver con Matlab ecuaciones diferenciales ordinarias de forma simbólica. Comandos de Matlab 1.‐ Para resolver ecuaciones diferenciales de forma simbólica dsolve('eq', 'cond', 'var') Ejemplo: Resolver x '' x ' 3 x >> dsolve('D2x+Dx = -a*x', 't') y ' 2 y y 0 3 Ejemplo: Resolver >> dsolve('Dy = 2*y', 'y(0) = 3') 2.‐ Para resolver ecuaciones de forma simbólica solve(ecuacion1,ecuacion2,...,ecuacionn) solve(ecuacion1,ecuacion2,...,ecuacionn,variable1,variable2,…,variablen) Ejemplo: Calculamos las raíces de un polinomio genérico de grado 3 >> syms x a b c d >> v=solve(a*x^3+b*x^2+c*x+d) >> r=subexpr(v(1)) >> s=subexpr(v(2)) >> t=subexpr(v(3)) PÁGINA 2 MATLAB: ECUACIONES DIFERENCIALES Ejercicios La ecuación del movimiento forzado de un resorte debido a una fuerza exterior que actúa sobre la masa oscilante sujeta a dicho resorte, aplicando la segunda ley de Newton, viene dado por la ecuación diferencial siguiente en el que se relaciona la posición, x, de la masa con el tiempo, t, m d 2x dx b k x f t 2 dt dt donde m es la masa, b es la constante de amortiguación, k la constante del resorte y f la fuerza exterior. 1 Aplicación: Considerando d 2x dx 6 10 x 25cos 4t 2 dt dt Encontrar la posición del resorte considerando las condiciones iniciales x 0 1/ 2 , x ' 0 0 . Código Matlab %Halla la solución general de la e.d.o. de segundo orden syms x t r = dsolve('D2x+6*Dx+10*x=25*cos(4*t)','t'); r=simplify(r); disp('La solución general de la e.d.o. es') pretty(r) %Halla la solución particular que verifica las dos condiciones % iniciales: x(0)=1/2, x'(0)=0 particular = dsolve('D2x+6*Dx+10*x=25*cos(4*t)','x(0)=1/2, Dx(0)=0','t'); particular=simplify(particular); disp('La solución particular de la e.d.o. que verifica x(0)=1/2, x´(0)=0 es') pretty(particular) %Representación de la solución particular ezplot(particular,[0,10]) MATLAB: PRÁCTICA 12 PÁGINA 3 Aplicación a la climatización de edificios Si T t es la temperatura de un edificio vacío en un instante de tiempo t y E t es la temperatura en el exterior (puede ser variable), la ley de Newton afirma que 2 T ' t k E t T t donde la constante 1/k se denomina constante de tiempo del edificio y suele medirse en horas. Un valor normal para un edificio cerrado oscila entre las 2 y las 4 horas para la constante 1/k. Aplicación: Supongamos que un día caluroso la temperatura exterior se mantiene constante a 35ºC y que en un local comercial los empleados se encuentran trabajando a una temperatura constante de 20ºC gracias al aire acondicionado. Finalizada la jornada laboral a las 2 de la tarde se apaga el aire acondicionado. Si la constante del edificio es de 4 horas, ¿cuál será la temperatura del edificio a las 2 de la tarde? ¿En qué momento la temperatura en el interior será de 27ºC? Código Matlab La ecuación diferencial es T ' t 1 35 T t con la condición inicial T 0 20º C 4 syms T t %Solución general temperatura = dsolve('DT =1/4*(35-T)','t'); r=simplify(temperatura); disp('La solución general de la e.d.o. es') pretty(r) %Solución particular considerando t=0 las 14 horas temperatura = dsolve('DT =1/4*(35-T)','T(0)=20','t'); r=simplify(temperatura); disp('La solución particular de la e.d.o. es') pretty(r) %Representación de la solución particular ezplot(r,[0,20]) %A las 4 de la tarde (será t=2 ya que t=0 es las 14 horas) subs(r,t,2) %Para encontrar el instante t en el que la temperatura es 27ºC %se debera resolver la ecuación r=27 solve(r-27) Solución: La temperatura a las 4 horas será: 15 e 35 25.9º C La temperatura será 27ºC cuando t 4 log horas y media. 8 2.51 horas , aproximadamente a las 4 15 PÁGINA 4 MATLAB: ECUACIONES DIFERENCIALES Si el edificio no está vacío se produce un calentamiento adicional debido al calor corporal, luces, máquinas en funcionamiento… cuya razón detonaremos por H t . Si adicionalmente el edificio dispone de un sistema de calefacción o de aire acondicionado, se produce un aumento o disminución de la temperatura que denotaremos por U t . En este caso la 3 Indicación Observar que: ecuación diferencial queda de la siguiente manera: T ' t k E t T t H t U t Aplicación: Un calentador solar de agua consta de un tangue de agua y un panel solar. El tanque se encuentra bien aislado y tiene una constante de tiempo de 64 horas. El panel genera 2000 kilocalorías por hora durante el día y el tanque tiene una capacidad calorífica de 2ºC por cada 1000 kilocalorías. Si el agua se encuentra inicialmente a 20ºC y la temperatura ambiente es de 20ºC, ¿cuál será la temperatura del tanque al cabo de 12 horas de luz solar? U t 2º C / 1000kcal x 2000 Kcal / hora 4º C / h 1 La ecuación diferencial es T ' t 20 T t 4 con T 0 20º C 64 Solución: T 12 72.06 º C Resumen de comandos Se recogen aquí los comandos utilizados en esta práctica que se darán por conocidos en las prácticas siguientes y que conviene retener porque se podrán preguntar en las distintas pruebas de evaluación. También se supondrán conocidos los comandos que fueron utilizados en prácticas anteriores y en las prácticas de Cálculo I. Para resolver ecuaciones diferenciales: Para resolver ecuaciones algebraicas: dsolve solve