Está en la página 1de 4

 

Ecuaciones Diferenciales  Curso 15‐16 
  Cálculo II 

Prácticas Matlab 
 
 
 
Práctica 11 (3/05/2016) 
  Objetivos 

o Representar las soluciones de una e.d.o. 
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
          Ejemplo: Resolver    
 y  0   3

>> 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, 
d 2x dx
m 2
 b  k x  f t   
dt dt
 
donde m es la masa, b es la constante de amortiguación, k la constante 
del resorte y f la fuerza exterior. 


 

 
  Aplicación: Considerando 
d 2x dx
                                  2
 6  10 x  25cos 4t  
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  
T ' t   k  E t   T t   
 
donde la constante 1/k se denomina constante de tiempo del edificio y suele 

2  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
4
 35  T  t    con la condición inicial  T  0   20º C  
 
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  
8
La  temperatura  será  27ºC  cuando  t  4 log  2.51 horas ,  aproximadamente  a  las  4 
15
horas y media. 
 
 

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 
ecuación diferencial queda de la siguiente manera: 

3   

 
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? 

 
Indicación 
 
Observar que: 
U  t   2º C / 1000kcal x 2000 Kcal / hora  4º C / h  
 
La ecuación diferencial es  T '  t  
1
64
 20  T  t    4   con  T  0   20º C  
 
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:   dsolve 
 Para resolver ecuaciones algebraicas:   solve 
 
 

También podría gustarte