Modelo Térmico en interior de edificio(Grupo 16-C)

De MateWiki
Revisión del 23:42 5 mar 2015 de Luismorenolopez94 (Discusión | contribuciones) (Cuarta situación del Modelo)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Modelo Térmico en interior de edificio. Grupo 16-C
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Laura Ramos Sangrós

Luis Moreno López

Alejandro Alcocer Jiménez

Álvaro Martínez de Andrés

Gonzalo Olmos de la Cruz

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


Utilizando ecuaciones diferenciales se puede crear un modelo matemático que permita determinar la temperatura de un edificio en cualquier tiempo dado T(t), considerando que el edificio es una sola habitación. La razón de cambio de la temperatura está dada por todos los factores que generan o disipan el calor.

Es necesario tomar en cuenta tres factores: llamaremos al calor generado por las personas, computadoras, luces y demás artefactos H(t); también hay que considerar el calentamiento o enfriamiento provocado por la calefacción o aire acondicionado. A dicha función la llamaremos U(t) (las podríamos llamar razones respecto al tiempo).

El tercer factor es el efecto de la temperatura exterior sobre el edificio; este factor se puede modelar mediante la ya conocida ley de enfriamiento de Newton, que establece que hay una razón de cambio de la temperatura T(t) que es proporcional a la diferencia entre la temperatura exterior M(t) menos la interior T(t), es decir:

                                [math]\frac{\partial T}{\partial t}=K[M(t)-T(t)] [/math]

La constante K depende de las propiedades físicas del edificio, es decir, de la cantidad de puertas, ventanas, etc. Pero no depende de M,T o t. Por lo tanto vemos que cuando M es mayor que T, la temperatura del edificio aumenta, y si M es menor que T, la temperatura del edificio disminuye. Resumiendo vemos que:

                           [math]\frac{\partial T}{\partial t}=K[M(t)-T(t)] + H(t) + U(t) [/math]

1 Primera situación del Modelo

Teniendo el problema introducido,la primera situación que se nos plantea es averiguar cuánto tarda en cambiar considerablemente la temperatura del edificio. Para contestar a esto se nos supone que al final del día (to = 0), la temperatura exterior permanece a Mo grados C,la razón de calentamiento adicional H(t) en el interior del edificio es 0, y la razón de calefacción o aire acondicionado U(t) es también 0. Suponiendo por último que la temperatura en el interior del edificio a medianoche es T(0) = To grados C,la temperatura T(t) en función del tiempo t satisface:

                           [math]\ T(t)-Mo = (To-Mo)e^{-kt} [/math]
                    [Esta solución la utilizaremos para obtener la curva de la solución exacta y compararla con la del método numérico]

La primera cuestión,que es la anterior citada, la abordamos suponiendo que la temperatura en el interior del edificio a media noche(t=0) es To=14 grados,que la temperatura exterior es constante e igual a 8 grados(Mo = 8) y que la constante del edificio es de 3 horas(1/k=1/3). Así, utilizando la ley de enfriamiento de Newton [math]\ T'(t)=K[Mo-T(t)] [/math] y con los datos dados,se procede a determinar como evoluciona la temperatura a lo largo del día que empieza mediante el método de Euler Implícito a partir del PVI::

[math] \left \{\begin{matrix}  T'=1/3(8-T),    t\gt0 \\  T(0)=14 \end{matrix} \right . [/math]

Codificamos en Matlab para obtener la solución aproximada::

%Variacion de la temperatura del edificio con Euler implícito
clear all,clf

t0 = 0;                  %Tiempo incicial(media noche)
tn = 24; 
T0 = 14;                  %Tiempo final(24h del dia)
h = 0.01;                %Longitud de paso
N =(tn-t0)/h;            %Numero de nodos
t = linspace(0,24,N+1);  %Definimos var.indep.(Tiempo)

%Solución exacta
%T(t)=Mo+(To-Mo)*exp(-k*t) 
 Te = (14-8).*exp(-1/3*t)+8;

T = zeros(size(t));      %Creamos un vector de ceros en T
T(1) = T0;               %El valor de T en el primer instante

for i = 1:N
  %Despejando T(i+1) de la ecuacion de Euler Implícito sale
  T(i+1) = 1/(1+h/3)*(T(i)+h*(8/3));
end

%Sacamos tabla de resultados,Temperatura en abcisas y Tiempo en ordenadas
[T',t',Te'];

%Gráfica
hold on
ylabel('Temperatura'); xlabel('Tiempo(h)');
plot(t,Te,'r','LineWidth', 7);
plot(t,T, 'b','LineWidth', 5);
legend('Solucion exacta','Euler', 'location','best')
hold off
CurvaAP1bis.jpg

APRECIACIONES DEL GRÁFICO

Desde el punto de vista numérico se aprecia la solución exacta está superpuesta con la de Euler,lo que quiere decir que Euler es bastante exacto con ese tamaño de paso.

Se observa un descenso de temperatura a lo largo del día muy brusco las primeras horas pero a medida que pasa el día se va suavizando hasta terminar casi constante en las últimas horas.Esto sucede a causa de que no existe ningún calentamiento o enfriamiento adicional que lo modifique,que más tarde veremos que ocurre si varían estas condiciones.

2 Segunda situación del Modelo

En segundo lugar se exige que el calentamiento adicional H(t) es igual a una constante(Ho), pero aún no hay calefacción o enfriamiento (U(t)=0). En este segundo caso, la temperatura exterior M(t) varía en forma de onda senoidal durante un periodo de 24 horas,su mínimo en t=0(medianoche) y su máximo en t=12(mediodía),dato importante que se reflejará en las posteriores gráficas.

                                                                   [math]\ M(t)=Mo-Bcos(wt) [/math]

donde Mo y B con constantes y [math]\ w=\frac{pi}{12}\ [/math] en radianes/hora y T(0)=To Demostramos que la solución de esta situación es:(dada por el enunciado del trabajo):

[math] T(t)=Bo - BF(t) + Ce^{-kt} [/math] donde\[\left\{\begin{matrix}\ Bo = Mo + \frac{Ho}{k}\ , & \\ F(t)= \frac{\cos(wt)+\frac{w}{k}\sin(wt)}{1+\frac{w^2}{k^2}}\ \, \\ C= To - Bo + \frac{B}{1+\frac{w^2}{k^2}}\\ & \end{matrix}\right.\]

Entonces el problema de valor inicial pedido será el siguiente \[\left\{\begin{matrix}\ T' = k[(Mo-Bcos(wt)-T]+Ho , & \\ T(To) = To & \end{matrix}\right.\]

Que es una EDO lineal de 1º Orden en T cuya expresión ordenada es

                                                                       [math] T'+KT = kMo+Ho-kBcos(wt) [/math]

Resolviendo la parte homogénea (Variables separables) ::

                           [math] T'+kT=0 \rightarrow \frac{dT}{T}=-kdt \rightarrow T_{H}=ce^{-kt} [/math]

La solución particular se resolverá por el principio de superposición de soluciones ya que lo hace mas cómodo.Se busca una solución para f1(t) = KMo + Ho y otra para f2(t) = -kBcos(wt).

--En la primera particular se tantea con Tp1 = A,teniendo Tp1'=0; así Tp1'+ kTp1= kMo + Ho y sale::

                                          [math] A = Mo + \frac{Ho}{k}\ \rightarrow Tp1 = Mo \frac{Ho}{k}\ [/math]       

por la tanto la anterior expresión corresponde a Bo (primera solución particular) y queda demostrado.

--En la segunda solución particular se tantea con Tp2 = R(cos(wt)) + S(sen(wt)) para Tp2' + kTp2 = -kBcos(wt),que derivando Tp2 se obtiene

-Rwsen(wt)+Swcos(wt)+kRcos(wt)+kSsen(wt) = -kBcos(wt),resolviéndose el sistema por cramer para sacar R y S, sale::

         [math]  Tp2 = \frac{-Bcos(wt)}{1+\frac{w^2}{k^2}}\\-\frac{-B\frac{w}{k}\sin(wt)}{1+\frac{w^2}{k^2}}\\ [/math]

Por lo tanto T(t) = Th + Tp1 + Tp2

        [math] T(t)=Mo+\frac{Ho}{k}\ -B[\frac{cos(wt)}{1+\frac{w^2}{k^2}}\\-\frac{\frac{w}{k}\sin(wt)}{1+\frac{w^2}{k^2}}\\]+Ce^{-kt} [/math]

Claramente lo que va dentro de los corchetes es F1(t) ya que va multiplicado por B como muestra la solución del enunciado::

                           [math] F(t)= \frac{\cos(wt)+\frac{w}{k}\sin(wt)}{1+\frac{w^2}{k^2}}\\ [/math] 


Que imponiéndose las condiciones iniciales del valor inicial T(0) = To se obtiene como dice el enunciado::

                                     [math] C= To - Bo + \frac{B}{1+\frac{w^2}{k^2}}\\ [/math]

Con esto quedan todas las expresiones que querían que demostrásemos analíticamente.


Lo siguiente será demostrar que la temperatura exterior media Mo coincide con Bo que es aproximadamente la temperatura media diaria dentro del eficicio, si Ho=0. Para ello planteamos lo siguiente::

       [math] Tm(t) = T.media = \frac{\int_0^{24}{T(t)dt}}{24}\ = \frac{\int_0^{24}{Bo-BF(t)+Ce^{-kt})dt}}{24}\ ≈ \frac{\int_0^{24}{Bo dt}}{24}\ ≈ Bo [/math]  pues [math] \int_0^{24}{F(t)dt} = 0    y   \int_0^{24}{Ce^{-k}dt} ≈ 0 [/math]             

En el tercer apartado analítico de esta parte se pide demostrar que la variación senoidal dentro del edificio tiene un retraso de α horas respecto de la variación exterior teniendo [math] F(t) = [1+\frac{w^2}{k^2}]^{-1/2} cos(wt-α) ,con, t\gt0 ,donde, tanα=\frac{w}{k}\ [/math]


Si [math] F(t) = [1+\frac{w^2}{k^2}]^{-1/2}(cos(wt) + \frac{w}{k}\sin(wt)) = [1+\frac{w^2}{k^2}]^{-1/2}cos(wt-α) [/math]

Desarrollando el coseno [math] cosk(wt) + \frac{w}{k}\sin(wt) = cos(wt)cos(α) + sin(wt)sin(α) [/math]

\[\left\{\begin{matrix}\ 1-cos(α), & \frac{w}{k}=sin(α) & \end{matrix}\right.\] Así [math] Tg(α) = \frac{w}{k}\ [/math]



Por último en esta parte se pide interpretar la temperatura interior del edificio teniendo en cuenta la exterior,a diferencia del primer apartado, con unos datos que se indican en el enunciado para introducir en el problema de valor inicial y así obtener cómo varía la temperatura.

Así con los valores dadosHo=3;Mo=7;k=1/3;B=5;To=13 el PVI queda:: \[\left\{\begin{matrix}\ T'(t) = 1/3[(7-5cos\frac{Πt}{12}\ -T(t)] + 3 , t>0 , & \\ T(To) = 13 & \end{matrix}\right.\]

Veámoslo en un gráfico para más tarde interpretar los resultados.
%Apartado 2
clear all,clf
t0 = 0;
tn = 24;
to = 13;
h1 =0.1; h2=h1^2; h3=h1^3;
N1=(tn-t0)/h1; N2=(tn-t0)/h2; N3=(tn-t0)/h3;
%Var.indep.
t = t0:h3:tn;
t1= t0:h1:tn;
t2= t0:h2:tn;
t3= t0:h3:tn;
%Factores de la Solución exacta
B = 5; Bo = 16; C = to-Bo+ 1/(1+((pi/12)/(1/3)^2))*B; w = pi/12; wk = w*3;
F = 1/(1+wk^2).*(cos(w.*t)+wk.*sin(w.*t));
%Solución exacta
Te= Bo-B.*F+C.*exp(-1/(1/3)*t);
%Vectores vacíos donde se guardaran las soluciones aproximadas
y1 = zeros(size(t1)); y2 = zeros(size(t2)); y3 = zeros(size(t3)); %EULER
y1(1) = to;  y2(1) = to;  y3(1) = to;
r1 = zeros(size(t1)); r2 = zeros(size(t2)); r3 = zeros(size(t3)); %KUTTA
r1(1) = to;  r2(1) = to;  r3(1) = to;  

for i = 1:N1
  y1(i+1) = y1(i)+h1*(1/3*((7-5*cos(w*t1(i)))-y1(i))+3);    %EULER
  K11 = 1/3*((7-5*cos(w*t1(i)))-r1(i))+3;                   %KUTTA       
  K21 = 1/3*((7-5*cos(w*(t1(i)+h1/2)))-(r1(i)+K11*h1/2))+3;
  K31 = 1/3*((7-5*cos(w*(t1(i)+h1/2)))-(r1(i)+K21*h1/2))+3;
  K41 = 1/3*((7-5*cos(w*(t1(i)+h1)-(r1(i)+K31*h1))))+3;
  r1(i+1) = r1(i)+h1/6*(K11+2*K21+2*K31+K41);
end
for i = 1:N2
  y2(i+1) = y2(i)+h2*(1/3*((7-5*cos(w*t2(i)))-y2(i))+3);    %EULER
  K12 = 1/3*((7-5*cos(w*t2(i)))-r2(i))+3;                   %KUTTA
  K22 = 1/3*((7-5*cos(w*(t2(i)+h2/2)))-(r2(i)+K12*h2/2))+3;
  K32 = 1/3*((7-5*cos(w*(t2(i)+h2/2)))-(r2(i)+K22*h2/2))+3;
  K42 = 1/3*((7-5*cos(w*(t2(i)+h2)-(r2(i)+K32*h2))))+3;
  r2(i+1) = r2(i)+h2/6*(K12+2*K22+2*K32+K42);
end
for i = 1:N3
  y3(i+1) = y3(i)+h3*(1/3*((7-5*cos(w*t3(i)))-y3(i))+3);    %EULER
  K13 = 1/3*((7-5*cos(w*t3(i)))-r3(i))+3;                   %KUTTA
  K23 =1/3*((7-5*cos(w*(t3(i)+h3/2)))-(r3(i)+K13*h3/2))+3;
  K33 = 1/3*((7-5*cos(w*(t3(i)+h3/2)))-(r3(i)+K23*h3/2))+3;
  K43 = 1/3*((7-5*cos(w*(t3(i)+h3))-(r3(i)+K33*h3))))+3;
  r3(i+1) = r3(i)+h3/6*(K13+2*K23+2*K33+K43);
end 

%Sacamos tabla de resultados
[t1',y1']; [t2',y2']; [t3',y3'];
[t1',r1']; [t2',r2']; [t3',r3'];
%Gráficasio
hold on
xlabel('Tiempo'); ylabel('Temperatura');
plot(t,Te,'r','LineWidth',  4);     
plot(t1,y1,'g','LineWidth', 4);   
plot(t1,r1,'y','LineWidth', 4);
plot(t2,y2,'c','LineWidth', 4); 
plot(t2,r2,'m','LineWidth', 4);
plot(t3,y3,'k','LineWidth', 4);   
plot(t3,r3,'b','LineWidth', 4);
legend('Solución exacta','E 0.1','RK 0.1','E 0.01','RK 0.01','E 0.001','RK 0.001','location','best');
hold off
CurvaAP2.jpg

APRECIACIONES IMPORTANTES DEL GRÁFICO::

Se aprecia la curva en forma senoidal por el efecto de la temperatura exterior Mo antes citado.La temperatura crece a lo largo del día hasta casi los 20 grados para bajar unas horas después a la temperatura inicial To.

Una apreciación importante es la temperatura media,antes demostrado que coincide con Bo,es igual a 16 que según la gráfica esto concuerda al unísono,lo que quiere decir que la temperatura media en un día es 16 grados centígrados.

Otra es el retraso en la variación senoidal al comienzo de la curva,donde en las primeras horas baja la temperatura un grado(efecto de la madrugada) hasta que el efecto de la temperatura exterior hace que suba en las horas posteriores(calor del día)llegando a un punto máximo a las 15 horas aproximadamente para luego volver a bajar(efecto del frío de la noche).

Desde el punto de vista numérico en este caso el método de Euler resulta mas eficaz que el de Kutta, al verse que la curva de los pasos de Euler está casi superpuesta en la solución exacta en rojo.Para Kutta la temperatura sube más a lo largo del día.

3 Tercera situación del Modelo

En esta nueva situación se añade la condición de un termostato sencillo que se utiliza para comparar la temperatura interior del edificio con la deseada aportando calor o enfriando dependiendo de si la interior es menor o mayor que la deseada,designada por Td.

Esta cantidad de calor o enfriamiento suministrado se traduce en la siguiente expresión::

                                                [math] U(t) = Ku[Td-T(t)] [/math]

Esta expresión condicionará la gráfica antes expuesta,veremos cuál será el resultado si sumamos esta condición con todo lo anterior.

Primeramente nos dicen que la solución analítica del PVI entero con esta última condición es:

                                        [math] T(t) = B2-B1F1(t)+Ce^{-k1t} [/math]  

con

  \[\left\{\begin{matrix}\ K1 = k+Ku\ , & \\ B2 = \frac{KuTd+kMo+Ho}{K1}\ \, \\ B1 = \frac{kB}{K1}\ \,  \\ F1(t)= \frac{\cos(wt)+\frac{w}{k1}\sin(wt)}{1+\frac{w^2}{k^2}}\ \, \\ C= To - B2 + F1(0) \ & \end{matrix}\right.\]   

Para demostrar esto se procede a resolver analíticamente la ecuación lineal en T siguiente:

                                 [math] T' = k[(Mo-Bcos(wt)]-T]+Ho+Ku[Td-T] [/math]

que ordenada para ver más claramente que es lineal queda::

                              [math] T' + kT + KuT = kMo + Ho - kBcos(wt) + KuTd [/math]

La ecuación homogénea es:: [math] T'+KT + KuT = 0 [/math] que es resuelta por variables separables da:: [math] T = Ce^{-(k+Ku)} [/math] siendo k+kU = K1 ,quedando demostrada la primera variable.

La solución particular la dividimos en dos mediante el principio de superposición como en la situación 2, Tp1 y Tp2 que las distintas funciones serán: f1(t) = kMo+Ho+KuTd y f2(t) = -kBcos(wt) que resolveremos por el método de tanteo de soluciones.

La primera solución vendrá determinada por el siguiente tanteo::

[math] Tp1 = A --\gt Tp1' = 0 [/math] sustituyendo en la EDOL [math] Tp1'+kTp1+KuTp1 = kMo+Ho+KuTd --\gt 0+Ak+AKu = kMo+Ho+KuTd --\gt A = \frac{KuTd+kMo+Ho}{k + Ku}\ [/math] Así la primera solución particular será::

                                             [math] Tp1 = \frac{KuTd+kMo+Ho}{K1}\ [/math]

que, claramente, esta expresión coincide con B2 por lo que queda demostrado que B2 es la primera solución particular.

Vamos con la segunda solución particular que tanteo con Tp2 = R cos(wt) + S sen(wt) , R y S reales que derivando Tp2' = -Vsen(wt) + Sw cos(wt). Voy a la EDOL y sustituyo::

                     [math] -Rw sen(wt)+Sw cos(wt)+kR cos(wt)+kS sen(wt)+KuR cos(wt)+KuS sen(wt) = -kBcos(wt) [/math]

que para encontrar los valores de R y S se plantea un sistema sencillo:

\[\left\{\begin{matrix}\ Sw + kR + KuR = -kB \, & \\ -Rw + kS + KuS = 0 \ & \end{matrix}\right.\]

Por Cramer sacamos sus valores y se sustituyen en la primera expresión de Tp2 quedando::

      [math]  Tp2 = \frac{\frac{-kBcos(wt)}{k+Ku}}\{1+\frac{w^2}{k^2}}\\ -\frac{\frac{kB w sen(wt)}{k+Ku k}\}{1+\frac{w^2}{k^2}}\\ [/math]

Así la solución general estará dada por: T(t) = Th + Tp1 + Tp2::

[math] Tp1 = \frac{KuTd+kMo+Ho}{K1}\ - \frac{kBcos(wt)}{k+Ku}\ (\frac{cos(wt)}{1+\frac{w^2}{k^2}}\\+\frac{wsent(wt)}{1+\frac{w^2}{k^2}}\\)+Ce^{-K1t} [/math]

Quedando claramente demostrado que F(t) es lo que hay entre los corchetes multiplicando a B como se ve en la solución dada por el enunciado.

Solo queda demostrar C que, imponiendo las condiciones iniciales del PVI T(0) = 0 , queda::

                                         [math] C = To - Bo + \frac{B}{1+\frac{w^2}{k^2}}\\ [/math]

Terminada la parte analítica de demostración se nos exige deducir que B2 representa aproximadamente la temperatura media del edificio, muy próxima a Td, teniendo en cuenta que cuando el 'calentador' se apaga transcurren 30 minutos para que el término exponencial de la solución T(t) desaparezca; por lo tanto lo despreciamos en los cálculos. Con esto, procedemos a calcular la temperatura media.


 [math] Tm(t) = T.media = \frac{\int_0^{24}{T(t)dt}}{24}\ = \frac{\int_0^{24}{B2-B1F1(t)dt}}{24}\ ≈ \frac{\int_0^{24}{B2 dt}}{24}\ ≈ B2 [/math]  pues [math] \int_0^{24}{F1(t)dt} = 0  [/math]


Así, queda visto que el término B2 representa la temperatura media de la curva y su valor es 19'5 Cº, calculado a partir de la solución exacta codificada en Matlab que más tarde se demostrará.


Por último con los datos proporcionados de las constantes(Ho=3,Mo=4,k=1/3,B=5,To=24,Ku=7/8,Td=22), el PVI que modeliza esta situación es:: [math] \left \{\begin{matrix} T'(t) = 1/3[4-5cos\frac{Πt}{12}\ -T(t)] + 3 + \frac{7(22-T(t)}{8}\ , t\gt0\\ T(0)=24\end{matrix}\right . [/math]

Procedemos a la parte numérica elaborando un código que me permita encontrar la curva resultante con esta nueva condición,calculando la solución exacta y la aproximada por Euler y Runge-Kutta con pasos h=0.1, h=0.01, h=0.001; resultando::

%Apartado 3
%Euler y Rungge-Kutta
clear all,clf
t0 = 0;
tn = 24;
to = 24;
h1 =0.1; h2=h1^2; h3=h1^3;
N1=(tn-t0)/h1; N2=(tn-t0)/h2; N3=(tn-t0)/h3;
%Var.indep.
t = t0:h3:tn;
t1= t0:h1:tn;
t2= t0:h2:tn;
t3= t0:h3:tn;

%Factores de la Solución exacta
Td=22; Mo=4; Ho=3; k=1/3; KU=7/8; k1=k+KU; 
B1 = (k*5)/k1; 
B2 = 1/k1*(KU*Td+k*Mo + Ho) 
w = pi/12; 
F = 1/(1+(w^2/k1^2)).*(cos(w.*t)+w/k1.*sin(w.*t));
C = to-B2+1/(1+(w^2/k1^2));
%Solución exacta
Te= B2-B1.*F+C.*exp(-k1*t);

%Vectores vacíos donde se guardaran las soluciones aproximadas
y1 = zeros(size(t1)); y2 = zeros(size(t2)); y3 = zeros(size(t3)); %EULER
y1(1) = to;  y2(1) = to;  y3(1) = to;
r1 = zeros(size(t1)); r2 = zeros(size(t2)); r3 = zeros(size(t3)); %KUTTA
r1(1) = to;  r2(1) = to;  r3(1) = to;  

for i = 1:N1
  y1(i+1) = y1(i)+h1*(1/3*((Mo-5*cos(w*t1(i)))-y1(i))+3+7/8*(22-y1(i)));    %EULER
  K11 = 1/3*(Mo-5*cos(w*t1(i))-r1(i))+3+7/8*(22-y1(i));                   %KUTTA       
  K21 = 1/3*(Mo-5*cos(w*(t1(i)+h1/2))-(r1(i)+K11*h1/2))+3+7/8*(22-(r1(i)+K11*h1/2));
  K31 = 1/3*(Mo-5*cos(w*(t1(i)+h1/2))-(r1(i)+K21*h1/2))+3+7/8*(22-(r1(i)+K21*h1/2));
  K41 = 1/3*(Mo-5*cos(w*(t1(i)+h1))-(r1(i)+K31*h1))+3+7/8*(22-(r1(i)+K31*h1));
  r1(i+1) = r1(i)+h1/6*(K11+2*K21+2*K31+K41);
end
for i = 1:N2
  y2(i+1) = y2(i)+h2*(1/3*((Mo-5*cos(w*t2(i)))-y2(i))+3+7/8*(22-y2(i)));     %EULER
  K12 = 1/3*(Mo-5*cos(w*t2(i))-r2(i))+3+7/8*(22-y2(i));                   %KUTTA
  K22 = 1/3*(Mo-5*cos(w*(t2(i)+h2/2))-(r2(i)+K12*h2/2))+3+7/8*(22-(r2(i)+K12*h2/2));
  K32 = 1/3*(Mo-5*cos(w*(t2(i)+h2/2))-(r2(i)+K22*h2/2))+3+7/8*(22-(r2(i)+K22*h2/2));
  K42 = 1/3*(Mo-5*cos(w*(t2(i)+h2))-(r2(i)+K32*h2))+3+7/8*(22-(r2(i)+K32*h2));
  r2(i+1) = r2(i)+h2/6*(K12+2*K22+2*K32+K42);
end
for i = 1:N3
  y3(i+1) = y3(i)+h3*(1/3*((Mo-5*cos(w*t3(i)))-y3(i))+3+7/8*(22-y3(i)));     %EULER
  K13 = 1/3*(Mo-5*cos(w*(t3(i)))-r3(i))+3+7/8*(22-y3(i));                   %KUTTA
  K23 = 1/3*(Mo-5*cos(w*(t3(i)+h3/2))-(r3(i)+K13*h3/2))+3+7/8*(22-(r3(i)+K13*h3/2));
  K33 = 1/3*(Mo-5*cos(w*(t3(i)+h3/2))-(r3(i)+K23*h3/2))+3+7/8*(22-(r3(i)+K23*h3/2));
  K43 = 1/3*(Mo-5*cos(w*(t3(i)+h3))-(r3(i)+K33*h3))+3+7/8*(22-(r3(i)+K33*h3));
  r3(i+1) = r3(i)+h3/6*(K13+2*K23+2*K33+K43);
end 

%Sacamos tabla de resultados
[t1',y1']; [t2',y2']; [t3',y3'];
[t1',r1']; [t2',r2']; [t3',r3'];
%Gráficasio
hold on
xlabel('Tiempo'); ylabel('Temperatura');
plot(t,Te,'r','LineWidth',  4);     
plot(t1,y1,'g','LineWidth', 4);   
plot(t1,r1,'y','LineWidth', 4);
plot(t2,y2,'c','LineWidth', 4); 
plot(t2,r2,'m','LineWidth', 4);
plot(t3,y3,'k','LineWidth', 4);   
plot(t3,r3,'b','LineWidth', 4);
legend('Solución exacta','E 0.1','RK 0.1','E 0.01','RK 0.01','E 0.001','RK 0.001','location','best');
hold off


CurvaAP324bisbis.jpg

APRECIACIONES IMPORTANTES DEL GRÁFICO:: A primera vista se aprecia una disminución de la temperatura inicial lo cual es totalmente lógico porque al estar a 24 grados(To) el interior del edificio, que es mayor a la temperatura deseada, el termostato empieza a funcionar y a enfriar la habitación a una temperatura estable y confortante alrededor de los 20 grados que por efecto de la temperatura exterior varía de forma senoidal como lo mostramos en la segunda situación.

Efectivamente la temperatura media coincide con B2 que su valor es exactamente 19'5 grados.La temperatura varía hacia arriba y abajo de este valor

Desde el punto de vista analítico todas las curvas de los métodos con sus respectivos tamaños de paso están muy juntas, casi superpuestas, lo que indica que los dos métodos son bastante exactos.

Como curiosidad mostramos en un período de dos días cómo la temperatura se estabiliza y se comporta de la misma forma gracias a la acción del termostato y la temperatura exterior en el gráfico de más abajo. Cambiamos tn = 24 horas por tn = 48 horas.

CuvaAP348bisbis.jpg

4 Cuarta situación del Modelo

En esta última parte del trabajo ya no se añade ningún factor más para ver el comportamiento de la temperatura en una habitación del edificio sino que suponemos que el edificio consta de dos habitaciones A y B que se transfieren calor una a otra.

Las razones de calentamiento adicional estarán dadas por Ha(t),Ua(t) y Hb(t),Ub(t) respectivamente. M(t) que sigue siendo la influencia de temperatura exterior es la misma que antes [math] M(t) = Mo-Bcos\frac{Πt}{12}\ [/math]

Las constantes de tiempo de transferencia de calor son de 4 horas entre A y el exterior,5 horas entre B y el exterior y 2 horas entre A y B,que siendo esta constante: t = 1/k ,despejando k será en cada caso 1/4, 1/5 y 1/2, respectivamente.

La primera cuestión a resolver es determinar el problema de Cauchy que satisface Ta(t) y Tb(t) si cada una designa la temperatura de su zona(A y B) cuando hayan pasado 24 horas,es decir, t ε [0,24] y Ta(0) = 20 y Tb(0) = 18.

Claramente el PVI será un sistema de ecuaciones diferenciales ordinarias de orden uno al estar las ecuaciones conectadas con el paso de temperatura de una a otra. Tomando el problema de Cauchy del comportamiento de la temperatura de cada zona teniendo en cuenta el calentamiento adicional y la transferencia de calor de una a otra, el PVI del SEDOL quedará::

\[\left\{\begin{matrix}\ Ta'(t) = 1/4[M(t) -Ta(t)] + Ha(t) + Ua(t) + \frac{Ta(t)-Tb(t)}{2}\, & \\ Tb'(t) = 1/5[M(t) -Tb(t)] + Hb(t) + Ub(t) - \frac{Ta(t)-Tb(t)}{2}\ \, \\ Ta(0) = 20 \, \\ Tb(0) = 18 & \end{matrix}\right.\]

Como apartado final,teniendo ya el PVI, se nos dan una serie de valores a las constantes para que apliquemos el método de Euler, Euler implícito y Runge-Kutta con los mismos pasos que la situación anterior (h=0.1;0.01;0.001) para que mostremos,con ayuda del Matlab, como se comportan las curvas de ambas temperaturas en un mismo gráfico.

Los valores dados son los siguientes:: \[\left\{\begin{matrix}\ M(t) = 2-7cos\frac{Πt}{12}\ , & \\ Ha(t) = \frac{10t}{1+t}\ , & \\ Ua(t) = \frac{5(22-Ta(t))}{3}\ , & \\ Hb(t) = 4cos\frac{Πt}{6}\ , & \\ Ub(t) = \frac{13(23-Tb(t))}{7}\ & \end{matrix}\right.\]

El PVI definitivo del SEDOL queda::

\[\left\{\begin{matrix}\ Ta'(t) = 1/4[2-7cos\frac{Πt}{12}\ -Ta(t)] + \frac{10t}{1+t}\ + \frac{5(22-Ta(t))}{3}\ + \frac{Ta(t)-Tb(t)}{2}\, & \\ Tb'(t) = 1/5[2-7cos\frac{Πt}{12}\ -Tb(t)] + 4cos\frac{Πt}{6}\ + \frac{13(23-Tb(t))}{7}\ - \frac{Ta(t)-Tb(t)}{2}\ \, \\ Ta(0) = 20 \, \\ Tb(0) = 18 & \end{matrix}\right.\]

Codificamos en Matlab para sacar la solución aproximada por estos métodos

%Apartado 4
%Euler,Euler implícito y Rungge-Kutta
clear all,clf
t0 = 0;
tn = 24;
to = [20,18]';
h1 =0.1; h2=h1^2; h3=h1^3;
N1=(tn-t0)/h1; N2=(tn-t0)/h2; N3=(tn-t0)/h3;
%Var.indep.
%t = t0:h3:tn;
t1= t0:h1:tn;
t2= t0:h2:tn;
t3= t0:h3:tn;

%Vectores vacíos donde se guardaran las soluciones aproximadas
y1 = zeros(2,size(t1)); y2 = zeros(2,size(t2)); y3 = zeros(2,size(t3)); %EULER
y1(:,1) = to;  y2(:,1) = to;  y3(:,1) = to;
m1 = zeros(2,size(t1)); m2 = zeros(2,size(t2)); m3 = zeros(2,size(t3)); %EULER IMPLICITO
m1(:,1) = to;  m2(:,1) = to;  m3(:,1) = to;
r1 = zeros(2,size(t1)); r2 = zeros(2,size(t2)); r3 = zeros(2,size(t3)); %KUTTA
r1(:,1) = to;  r2(:,1) = to;  r3(:,1) = to;  
ka=1/4 ;kb=1/5;
%La matriz A se compone de los coeficientes de Ta y Tb en Ta', situados la primera fila, y de Ta y Tb en Tb' ,que van en la segunda fila
A = [-17/12,-1/2;-1/2,-109/70]; 
for i =1:N1
  y1(:,i+1) = y1(:,i)+h1.*(A*y1(:,i)+[ka*(2-7*cos(pi*t1(i)/12))+10*t1(i)/(1+t1(i))+110/3;kb*(2-7*cos(pi*t1(i)/12))+4*cos(pi*t1(i)/6)+299/7]);   %EULER
  m1(:,i+1) = (inv(eye(2)-h1*A))*(m1(:,i)+[ka*(2-7*cos(pi*t1(i+1)/12))+10*t1(i+1)/(1+t1(i+1))+110/3;kb*(2-7*cos(pi*t1(i+1)/12))+4*cos(pi*t1(i+1)/6)+299/7]);
  K11 = A*r1(:,i)+[ka*(2-7*cos(pi*t1(i)/12))+(10*t1(i)/(1+t1(i)))+110/3;kb*(2-7*cos(pi*t1(i)/12))+(4*cos(pi*t1(i)/6))+299/7];                        %KUTTA       
  K21 = A*(r1(:,i)+h1/2*K11)+[ka*(2-7*cos(pi*(t1(i)+h1/2)/12))+(10*(t1(i)+h1/2)/(1+(t1(i)+h1/2)))+110/3;kb*(2-7*cos(pi*(t1(i)+h1/2)/12))+(4*cos(pi*(t1(i)+h1/2)/6))+299/7];
  K31 = A*(r1(:,i)+h1/2*K21)+[ka*(2-7*cos(pi*(t1(i)+h1/2)/12))+(10*(t1(i)+h1/2)/(1+(t1(i)+h1/2)))+110/3;kb*(2-7*cos(pi*(t1(i)+h1/2)/12))+(4*cos(pi*(t1(i)+h1/2)/6))+299/7];
  K41 = A*(r1(:,i)+h1/2*K31)+[ka*(2-7*cos(pi*(t1(i)+h1)/12))+(10*(t1(i)+h1)/(1+(t1(i)+h1)))+110/3;kb*(2-7*cos(pi*(t1(i)+h1)/12))+(4*cos(pi*(t1(i)+h1)/6))+299/7];
  r1(:,i+1) = r1(:,i)+h1/6*(K11+2*K21+2*K31+K41);
end
for i =1:N2
  y2(:,i+1) = y2(:,i)+h2.*(A*y2(:,i)+[ka*(2-7*cos(pi*t2(i)/12))+(10*t2(i)/(1+t2(i)))+110/3,kb*(2-7*cos(pi*t2(i)/12))+(4*cos(pi*t2(i)/6))+299/7]');   %EULER
  m2(:,i+1) = (inv(eye(2)-h2*A))*(m2(:,i)+[ka*(2-7*cos(pi*t2(i+1)/12))+10*t2(i+1)/(1+t2(i+1))+110/3;kb*(2-7*cos(pi*t2(i+1)/12))+4*cos(pi*t2(i+1)/6)+299/7]);
  K12 = A*r2(:,i)+[ka*(2-7*cos(pi*t2(i)/12))+(10*t2(i)/(1+t2(i)))+110/3;kb*(2-7*cos(pi*t2(i)/12))+(4*cos(pi*t2(i)/6))+299/7];                        %KUTTA       
  K22 = A*(r2(:,i)+h2/2*K12)+[ka*(2-7*cos(pi*(t2(i)+h2/2)/12))+(10*(t2(i)+h2/2)/(1+(t2(i)+h2/2)))+110/3;kb*(2-7*cos(pi*(t2(i)+h2/2)/12))+(4*cos(pi*(t2(i)+h2/2)/6))+299/7];
  K32 = A*(r2(:,i)+h2/2*K22)+[ka*(2-7*cos(pi*(t2(i)+h2/2)/12))+(10*(t2(i)+h2/2)/(1+(t2(i)+h2/2)))+110/3;kb*(2-7*cos(pi*(t2(i)+h2/2)/12))+(4*cos(pi*(t2(i)+h2/2)/6))+299/7];
  K42 = A*(r2(:,i)+h2/2*K32)+[ka*(2-7*cos(pi*(t2(i)+h2)/12))+(10*(t2(i)+h2)/(1+(t2(i)+h2)))+110/3;kb*(2-7*cos(pi*(t2(i)+h2)/12))+(4*cos(pi*(t2(i)+h2)/6))+299/7];
  r2(:,i+1) = r2(:,i)+h2/6*(K12+2*K22+2*K32+K42);
end
for i =1:N3
  y3(:,i+1) = y3(:,i)+h3.*(A*y3(:,i)+[ka*(2-7*cos(pi*t3(i)/12))+(10*t3(i)/(1+t3(i)))+110/3,kb*(2-7*cos(pi*t3(i)/12))+(4*cos(pi*t3(i)/6))+299/7]');   %EULER
  m3(:,i+1) = (inv(eye(2)-h3*A))*(m3(:,i)+[ka*(2-7*cos(pi*t3(i+1)/12))+10*t3(i+1)/(1+t3(i+1))+110/3;kb*(2-7*cos(pi*t3(i+1)/12))+4*cos(pi*t3(i+1)/6)+299/7]);
  K13 = A*r3(:,i)+[ka*(2-7*cos(pi*t3(i)/12))+(10*t3(i)/(1+t3(i)))+110/3;kb*(2-7*cos(pi*t3(i)/12))+(4*cos(pi*t3(i)/6))+299/7];                        %KUTTA       
  K23 = A*(r3(:,i)+h3/2*K13)+[ka*(2-7*cos(pi*(t3(i)+h3/2)/12))+(10*(t3(i)+h3/2)/(1+(t3(i)+h3/2)))+110/3;kb*(2-7*cos(pi*(t3(i)+h3/2)/12))+(4*cos(pi*(t3(i)+h3/2)/6))+299/7];
  K33 = A*(r3(:,i)+h3/2*K23)+[ka*(2-7*cos(pi*(t3(i)+h3/2)/12))+(10*(t3(i)+h3/2)/(1+(t3(i)+h3/2)))+110/3;kb*(2-7*cos(pi*(t3(i)+h3/2)/12))+(4*cos(pi*(t3(i)+h3/2)/6))+299/7];
  K43 = A*(r3(:,i)+h3/2*K41)+[ka*(2-7*cos(pi*(t3(i)+h3)/12))+(10*(t3(i)+h3)/(1+(t3(i)+h3)))+110/3;kb*(2-7*cos(pi*(t3(i)+h3)/12))+(4*cos(pi*(t3(i)+h3)/6))+299/7];
  r3(:,i+1) = r3(:,i)+h3/6*(K13+2*K23+2*K33+K43);
end 

%Sacamos tabla de resultados
[t1',y1']; [t2',y2']; [t3',y3'];
[t1',r1']; [t2',r2']; [t3',r3'];
%Gráficas
hold on
xlabel('Tiempo'); ylabel('Temperatura');     
plot(t1,y1,'g','LineWidth', 4);  

plot(t1,r1,'y','LineWidth', 4);
plot(t2,y2,'c','LineWidth', 4); 

plot(t2,r2,'m','LineWidth', 4);
plot(t3,y3,'k','LineWidth', 4);
  
plot(t3,r3,'b','LineWidth', 4);
legend('E 0.1','RK 0.1','E 0.01','RK 0.01','E 0.001','RK 0.001','location','best');
hold off


CurvaAP4final24.jpg
CurvaAP448.jpg