Diferencia entre revisiones de «Modelo térmico de un edificio (GRUPO 3)»

De MateWiki
Saltar a: navegación, buscar
(Desfase de la temperatura interior)
(Temperatura media diaria exterior e interior. Influencia de H_0)
Línea 349: Línea 349:
  
 
==Temperatura media diaria exterior e interior. Influencia de <math>H_0</math>==
 
==Temperatura media diaria exterior e interior. Influencia de <math>H_0</math>==
 +
 +
Siendo <math>B_0</math> aproximadamente la temperatura media diaria dentro del edificio, se pide comprobar que si <math>H_0=0</math>, entonces <math>B_0</math> coincide con la temperatura media exterior.
 +
 
==Desfase de la temperatura interior==
 
==Desfase de la temperatura interior==
  

Revisión del 01:25 4 may 2016

Trabajo realizado por estudiantes
Título Modelo térmico de un edificio. Grupo 3
Asignatura Ecuaciones Diferenciales
Curso Curso 2015-16
Autores Javier Blanco Villarroel,

Javier Colorado Martínez, Alberto Garcés Rodríguez, Álvaro Llera Fernández, Antonio Pérez Mata

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


El objetivo del trabajo es formular un modelo matemático que describa el comportamiento de la temperatura en el interior de un edificio en el lapso de 24h en función de la temperatura exterior, del calor que se genera dentro del edificio y del sistema de calefacción y aire acondicionado. Se trata de responder a estas tres preguntas: ¿Cuánto tarda en cambiar considerablemente la temperatura del edificio? ¿Cómo varía la temperatura del edificio durante la primavera y el otoño, cuando no se emplea el aire acondicionado o calefacción? ¿Cómo varia la temperatura del edificio durante el verano, cuando se utiliza aire acondicionado, o en invierno, cuando se emplea calefacción?

Para modelizar este suceso utilizaremos la teoría de ecuaciones diferenciales y modelos numéricos resueltos mediante el programa MatLab.

1 Introducción y modelización

Dentro de un edificio existen multitud de parámetros que regulan la temperatura interior, por ejemplo, dependiendo del tipo de paredes, cubierta y forjados que lo compongan, podrá tener una mayor transmitancia térmica y quedar más expuesto a la temperatura exterior. Además hay que tener en cuenta que el calor se puede transmitir por conducción, convección y radiación.

El número, tamaño y calidad de ventanas también influye, ya que representan los puentes térmicos que hacen más o menos vulnerable al edificio.

Planta de un Edificio
Muros tipo de un edificio
Detalle de cubierta ajardinada
Detalle de cubierta no transitable

Las personas y las máquinas también influyen en la temperatura interior, ya que generan calor que transmiten al interior del edificio, de tal manera que según el manual de instalaciones de calefacción por agua caliente de Franco Martín Sánchez alrededor de tres personas generan el mismo calor que un radiador. Evidentemente, los calefactores, radiadores y máquinas de aire acondicionado varían la temperatura interior y son usados para mantener una temperatura ideal que permita a las personas hacer las actividades para las que está diseñado el edificio.

De tal manera que para simplificar todas estas variables se tomará el edificio como un bloque donde todos sus paramentos tendrán la misma capacidad de transmisión de calor (k), el calor producido por las personas, máquinas y calefacción no será definido por zonas puntuales de fuentes o sumideros, sino que serán funciones que tendrán la misma densidad en todos los puntos del edificio; quedando un modelo así:

centro

Funciones y parámetros que participan en la temperatura:

  • [math]T(t)=[/math] Temperatura interior del edificio en un instante [math]t[/math]. [Medido en ºC].
  • [math]H(t)=[/math] Calor producido por personas y elementos del edificio. "(Expresados en términos de energía por unidad de tiempo que multiplicado por la capacidad calorífica del edificio da temperaturas por unidad de tiempo)"
  • [math]U(t)=[/math] Calentamiento producido por la calefacción. "(Expresados en términos de energía por unidad de tiempo que multiplicado por la capacidad calorífica del edificio da temperaturas por unidad de tiempo)"
  • [math]M(t)=[/math] Temperatura exterior. "(Medido en ºC)"
  • [math]k=[/math] Constante que depende de las propiedades del edificio. "(Expresado en unidades de grados de cambio de temperatura por energía calorífica)"
  • [math]t_0=\frac{1}{k}=[/math] Constante del tiempo del edificio, correspondiente con el instante inicial. "(Expresado en horas)"

En nuestro caso particular estudiaremos la evolución de la temperatura en un lapso de 24h, para ello definiremos la variable [math]T(t)[/math] que representa la temperatura en el interior del edificio en un instante [math]t[/math]. Como se puede observar [math]T[/math] será una función dependiente únicamente del tiempo ya que consideramos el interior del edificio como un único habitáculo en el cuál la temperatura es igual para todo el espacio.


Para deducir la ecuación diferencial que gobierna el comportamiento de la temperatura, aceptaremos como válidas dos hipótesis:

  • Aceptaremos como válida y extrapolable a nuestro problema la ley de transmisión del calor de Fourier, que afirma que la conducción de calor entre dos cuerpos es proporcional a la diferencia de temperatura de ambos para una cierta constante [math]k[/math] de proporcionalidad.

[math]\frac{dT_1}{dt}=k(T_1-T_2)[/math]

  • Consideraremos la temperatura [math]T(t)[/math] igual para todo el interior del edificio.

Con estas hipótesis como premisas deduciremos la ecuación diferencial que rige la temperatura [math]T(t)[/math] en base a que la variación de grados centígrados es igual a los grados centígrados que aumentan menos los que disminuyen. El problema de Cauchy que modela el fenómeno es, por tanto:

\begin{equation*} \begin{cases} T'(t)=\Delta(ºC)=k·(M(t)-T(t))+H(t)±U(t);\hspace{1cm} t≥0 \\ T(0)=T_0 \end{cases} \end{equation*}


2 Tiempo de variación significativa de [math]T(t)[/math]

La primera pregunta que se nos plantea es cuánto tarda en variar considerablemente la temperatura del edificio. Para ello, vamos a resolver numéricamente la ecuación diferencial planteada anteriormente utilizando el método de Euler implícito con un paso h=0.01. La dificultad de usar un método de este tipo reside en que la variable que queremos calcular no aparece de manera explícita en la ecuación, por lo que hay que despejarla manualmente para introducirla en el algoritmo.

Para despejarla, tendremos en cuenta que al final del día (que coincide con el inicio del día, al ser períodos de 24h) la temperatura exterior permanece a [math]M_0[/math] grados; que la razón de calentamiento adicional [math](H_0)[/math] es 0 grados, al igual que la razón de calefacción [math](U_0)[/math]; y que la temperatura en el interior del edificio a medianoche es [math]t_0[/math] grados.

Es decir, la ecuación diferencial quedaría como:

\begin{equation*} \begin{cases} T'(t)=\Delta(ºC)=k(M(t)-T(t))+0+0 \\ T(0)=T_0 \end{cases} \end{equation*}

Ecuación diferencial definitiva:

\begin{equation*} \begin{cases} T'(t)=\Delta(ºC)=k(M(t)-T(t))\\ T(0)=T_0 \end{cases} \end{equation*}

Que tiene como solución de la ecuación la función:

[math]T(t)=(T_0-M_0)·e^{-k·t}+M_0[/math]

En este apartado hemos tomado una temperatura exterior [math]M(t)[/math] constante e igual a 8°C, una constante térmica del edificio igual a 3 y una temperatura inicial a las 00:00h de 14°C. Usando Euler implícito como indica el enunciado, quedaría un bucle:

\begin{equation*} \begin{cases} T_{n+1}=T_n+h·f(t_{n+1},T{n+1})\\ T(0)=T_0 \end{cases} \end{equation*}

[math]T_{n+1}=T_n+h·f(t_{n+1},T{n+1}) = T_n+h·f·[k·(M_0-T_1)] \Longrightarrow[/math]
[math]T_{n+1}=T_n+h·[\frac{1}{3}·(8-T_{n+1})]=T_n+h·[\frac{8}{3}-\frac{1}{3} T_{n+1}]=T_n+\frac{8}{3}h-\frac{1}{3}h·T_{n+1}\Longrightarrow[/math]
[math]T_{n+1}=T_n+\frac{8}{3}h-\frac{1}{3}h·T_{n+1} \Longrightarrow T_{n+1}+\frac{1}{3}h·T_{n+1}=T_n+\frac{8}{3}h\Longrightarrow[/math]
[math]T_{n+1}·(1+\frac{1}{3}h)=T_n+\frac{8}{3}h⟹\boxed{(T_{n+1}=\frac{(T_n+\frac{8}{3}h)}{(1+\frac{1}{3}h)})}[/math]

A continuación, resolvemos el problema numérico en Matlab con los datos anteriormente expuestos:

% CAMBIO CONSIDERABLE DE LA TEMPERATURA DEL EDIFICIO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all, clc, close all
% Ecuación diferencial: T'(t)=1/3*(M0-T(t));
% Solución exacta T(t)=(T0-M0)*exp(-1/3*t)+M0;

% DATOS DE PARTIDA:
t0=0; tN=24; % Intervalo de tiempo.
k=1/3;       % Cte de tiempo del edificio: t=1/k=3
M0=input('Valor inicial de la temperatura exterior: ');
T0=input('Valor inicial de la temperatura interior: ');

% DISCRETIZACIÓN DE LA VARIABLE INDEPENDIENTE "t":
h=input('Introduzca el tamaño de paso h: '); 
N=round((tN-t0)/h);    % Número de subintervalos.
t=linspace(t0,tN,N+1); % Vector de tiempo.
%--------------------------------------------------------------------------
% SOLUCIÓN EXACTA:
Tex=(T0-M0)*exp(-1/3*t)+M0; % Función solución exacta (solución analítica).

% CÁLCULO NUMÉRICO: Método de Euler Implícito (Backward Euler Method).
T=zeros(size(t)); % Matriz "vacía" de la solución numérica.
T(1)=T0;
for i=1:N         % Inicio del bucle.
  T(i+1)=(T(i)+8*h/3)/(1+h/3);  
end
% ¡Cuidado! Si no hay valor de "T" ó "t" en la EDO, escribir "0*T" ó "0*t".
%--------------------------------------------------------------------------
% GRÁFICAS:
hold on
subplot(1,3,1)  % Primera gráfica.
plot(t,Tex,'r') % Gráfica de la solución exacta (solución analítica).
xlabel('Time'); ylabel('Temperature') 
title('Temperature variation')        
legend('Exact Ecuation')              
subplot(1,3,2)  % Segunda gráfica.
plot(t,T,'b')   % Gráfica de la solución aproximada (solución númerica).
xlabel('Time'), ylabel('Temperature') 
title('Temperature variation')         
legend('Backward Euler Method')       
subplot(1,3,3)          % Tercera gráfica.
plot(t,Tex,'r',t,T,'b') % Gráfica de comparación de métodos.
xlabel('Time'); ylabel('Temperature') 
title('Comparation between methods')        
legend('Exact Ecuation','Backward Euler Method','Location','best')
hold off
%--------------------------------------------------------------------------
% ESTUDIO DE LOS ERRORES:  
format long;       % Todos los decimales.
err=abs(Tex-T);    % Cálculo del error en valor absoluto.
maxi= max(err);    % Máximo error obtenido.
fprintf('El error máximo es %7.10f\n',maxi)
pos=1:1:length(t); % Vector posición (mismo tamaño que el vector "t").
% Tabla recopilación de soluciones y errores:
disp('No=0, Sí=1')
quieres=input('Quieres la tabla? ')
if quieres==1
  Tabl=[pos', t',T',Tex',err'] 
else
  Tabl=[pos', t',T',Tex',err'];
end
Solución Exacta comparada con la obtenida por el método de Euler implícito


El error máximo obtenido con el método numérico es [math]0.0036736935ºC[/math]

3 Variación de la temperatura interior [math]T(t)[/math] sin calefacción ni aire acondicionado [math](U(t)=0)[/math]

En este apartado, el calor producido por personas y elementos del edificio [math]H(t)[/math] se mantiene constante siendo igual a [math]H_0[/math]. No hay calefacción, por lo que [math]U(t)[/math] es igual a cero y la temperatura exterior varía de forma senoidal con un período de 24 horas de la manera: [math]M(t)=M_0-B·cos⁡(ϖ·t)[/math]

Es decir:

  1. [math]T(t)=[/math] Temperatura interior del edificio.
  2. [math]H(t)=[/math] Calor producido por personas y elementos del edificio[math]=H_0[/math]
  3. [math]U(t)=[/math] Calentamiento producido por la calefacción[math]=0[/math]
  4. [math]M(t)=[/math] Temperatura exterior[math]=M_0-B·cos⁡(ϖ·t)=M_0-B·cos⁡(\frac{π}{12·t})[/math]
  5. [math]k=[/math] Constante que depende de las propiedades del edificio.
  6. [math]t_0=\frac{1}{k}=[/math] Constante del tiempo del edificio.

Es decir, la ecuación diferencial quedaría como:

\begin{equation*} \begin{cases} T'(t)=k(M(t)-T(t))+H(t)+U(t)=k(M_0-B·cos⁡(\frac{π}{12·t})-T(t))+H_0+0\\ T(0)=T_0 \end{cases} \end{equation*}

Ecuación diferencial definitiva:

\begin{equation*} \begin{cases} T'(t)=k(M_0-B·cos⁡(\frac{π}{12·t})-T(t))+H_0\\ T(0)=T_0 \end{cases} \end{equation*}

Que tiene como solución:

\begin{equation*} T(t)=B_0-B·F(t)+C·e^{-k·t} \begin{cases} B_0=M_0+\frac{H_0}{k}\\ F(t)=\frac{cos(⁡(ϖ·t)+\frac{ϖ}{k·sen(ϖ·t)}}{(1+(\frac{ϖ}{k})^2)}\\ C=T_0-B_0+\frac{B}{(1+(\frac{ϖ}{k}^2)} \end{cases} \end{equation*}

3.1 Demostración del modelo

Para resolver esta ecuación diferencial usamos el principio de superposición, para poder usarlo, la ecuación diferencial debe ser lineal y los términos independientes deben satisfacer la misma ecuación diferencial homogénea.

[math]T'(t)=k(M_0-B·cos⁡(ϖ·t)-T(t))+H_0=k·M_0-k·B·cos⁡(ϖ·t)-k·T(t)+H_0⟹[/math]
[math]\boxed{T'(t)+k·T(t)=k·M_0-k·B·cos⁡(ϖ·t)+H_0}[/math]

Dividimos la ecuación en dos, una con las constantes y otra con la función coseno:

\begin{equation*} \begin{cases} T'(t)+k·T(t)=k·M_0+H_0\\ T'(t)+k·T(t)=-k·B·cos⁡(ϖ·t) \end{cases} \end{equation*}

1. Cálculo de la solución general de la homogénea:

[math]T'(t)+k·T(t)=0[/math]

Usamos el polinomio característico:

[math]m+k=0 ⇔ m=-k ⇒ S.G.H=c_1·e^{-k·t}[/math]

2. Cálculo de la solución particular de la ecuación con las constantes:: [math]T'(t)+k·T(t)=k·M_0+H_0[/math] Conjunto asociado a la S.G.H:: [math]S.G.H=c_1·e^{-k·t}[/math]

[math]S.G.H≡\{e^{-k·t}\}[/math]

Conjunto asociado al término independiente:: [math]p_1(t)=k·M_0+H_0[/math]

[math]p_1(t)≡\{1\} \nsubseteq S.G.H[/math]

Comparando ambos conjuntos, podemos decir que la solución particular de la completa es del tipo:

[math]T_p=A= \begin{equation*} \begin{cases} T_p=A\\ T'_p=0 \end{cases} \end{equation*} [/math]

Sustituimos en nuestra ecuación diferencial:

[math]T'(t)+k·T(t)=k·M_0+H_0⟺0+k·A=k·M_0+H_0⇒[/math]
[math]k·A=k·M_0+H_0⇒A=M_0+\frac{H_0}{k}[/math]

Es decir, nos quedaría una solución:

[math]T(t)=c_1·e^{-k·t}+M_0+\frac{H_0}{k}[/math]

3. Cálculo de la solución particular de la ecuación con el coseno:

[math]T'(t)+k·T(t)=-k·B·cos⁡(ϖ·t)[/math]

Conjunto asociado a la S.G.H: :[math]S.G.H=c_1·e^{-k·t}[/math]

[math]S.G.H≡\{e^{-k·t}\}[/math]

Conjunto asociado al término independiente: :[math]p_2(t)=-k·B·cos⁡(ϖ·t)[/math]

[math]p_2 (t)≡\{cos⁡(ϖ·t),sen(ϖ·t)\} \nsubseteq S.G.H[/math]

Comparando ambos conjuntos, podemos decir que la solución particular de la completa es del tipo:

[math]T_p=C·cos⁡(ϖ·t)+D·sen(ϖ·t)⇒ \begin{equation*} \begin{cases} T_p=C·cos⁡(ϖ·t)+D·sen(ϖ·t)\\ T'_p=-C·ϖ·sen(ϖ·t)+D·ϖ·cos⁡(ϖ·t) \end{cases} \end{equation*} [/math]

Sustituimos en nuestra ecuación diferencial:

[math]T'(t)+k·T(t)=-k·B·cos⁡(ϖ·t)⇒[/math]
[math]-C·ϖ·sen(ϖ·t)+D·ϖ·cos⁡(ϖ·t)+k·[C·cos⁡(ϖ·t)+D·sen(ϖ·t)]=-k·B·cos⁡(ϖ·t)⇒[/math]
[math][-ϖ·C+D·k]sen(ϖ·t)+[ϖ·D+C·k] cos⁡(ϖ·t)=-k·B·cos⁡(ϖ·t)[/math]

Subdividimos según las funciones:

  • [math]sen(ϖ·t): -ϖ·C+B·k=0[/math]
    [math]cos⁡(ϖ·t): ϖ·B+A·k=-k·B[/math]

Y nos queda el sistema de ecuaciones siguiente:

[math] \begin{equation*} \begin{cases} -ϖ·C+D·k=0\\ ϖ·D+C·k=-k·B \end{cases} ⇒ \begin{pmatrix} -ϖ & k \\ k & ϖ \\ \end{pmatrix} · \begin{pmatrix} C \\ D \\ \end{pmatrix} = \begin{pmatrix} 0\\ -k·B\\ \end{pmatrix} \end{equation*} [/math]

Que resolvemos por el método de Cramer:

[math]C=\frac{det⁡(f_3,f_2)}{det⁡(f_1,f_2)}=\frac{k^2·B}{-(ϖ^2+k^2 )}=-\frac{k^2·B}{ϖ^2+k^2}[/math]
[math]D=\frac{det⁡(f_1,f_3)}{det⁡(f_1,f_2)}=\frac{k·ϖ·B}{-(ϖ^2+k^2 )}=-\frac{k·ϖ·B}{ϖ^2+k^2}[/math]

Es decir, nos quedaría una solución:

[math]T(t)=c_1·e^{-k·t}-\frac{k^2·B}{ϖ^2+k^2}·cos⁡(ϖ·t)-\frac{k·ϖ·B}{ϖ^2+k^2}·sen(ϖ·t)=[/math]
[math]c_1·e^{-k·t}-\frac{k^2·B·cos⁡(ϖ·t)+k·ϖ·B·sen(ϖ·t)}{ϖ^2+k^2}=[/math]
[math]c_1·e^{-k·t}-B·\frac{cos⁡(ϖ·t)+\frac{ϖ}{k}·sen(ϖ·t)}{\frac{ϖ}{k})^2+1}[/math]

Como se ha comentado antes, hemos aplicado el principio de superposición, por lo que la solución completa de nuestra ecuación queda como:

[math]T(t)=M_0+\frac{H_0}{k}-B·\frac{cos⁡(ϖ·t)+\frac{ϖ}{k}·sen(ϖ·t)}{(\frac{ϖ}{k})^2+1}+c_1·e^{-k·t}[/math]

La condición inicial nos dice que T(0)=T_0, por lo que:

[math]T(0)=M_0+\frac{H_0}{k}-B·\frac{(cos⁡(ϖ·0)+\frac{ϖ}{k}·sen(ϖ·0)}{(\frac{ϖ}{k})^2+1)}+c_1·e^{-k·0}=T_0⟹[/math]
[math]M_0+\frac{H_0}{k}·\frac{1+\frac{ϖ}{k}·0}{(\frac{ϖ}{k})^2+1}+c_1=T_0⟹\boxed{c_1=T_0+\frac{B}{(\frac{ϖ}{k})^2+1}-(M_0+\frac{H_0}{k})}[/math]

Por lo que finalmente la Función solución queda como:

[math]\boxed{T(t)=M_0+\frac{H_0}{k}-B·\frac{cos⁡(ϖ·t)+\frac{ϖ}{k}·sen(ϖ·t)}{(\frac{ϖ}{k})^2+1}+(T_0+\frac{B}{(\frac{ϖ}{k})^2+1}-(M_0+\frac{H_0}{k}))·e^{-k·t}}[/math]

Y comparándola con el enunciado:

\begin{equation*} T(t)=B_0-B·F(t)+C·e^{-k·t} \begin{cases} B_0=M_0+\frac{H_0}{k}\\ F(t)=\frac{cos(⁡(ϖ·t)+\frac{ϖ}{k·sen(ϖ·t)}}{(1+(\frac{ϖ}{k})^2)}\\ C=T_0-B_0+\frac{B}{(1+(\frac{ϖ}{k}^2)} \end{cases} \end{equation*}

Nos queda de la misma forma.

3.2 Temperatura media diaria exterior e interior. Influencia de [math]H_0[/math]

Siendo [math]B_0[/math] aproximadamente la temperatura media diaria dentro del edificio, se pide comprobar que si [math]H_0=0[/math], entonces [math]B_0[/math] coincide con la temperatura media exterior.

3.3 Desfase de la temperatura interior

Se pide comparar la función [math]F(t)[/math] con otra que nos demuestra que la variación senoidal de la temperatura del edificio tiene un retraso de [math]\alpha[/math] horas respecto a la variación exterior:

[math]F(t)=[1+(\frac{ϖ}{k})^2]^{-1}·cos⁡(ϖ·t-α)=\frac{cos⁡(ϖ·t)+\frac{ϖ}{k}·sen(ϖ·t)}{1+(\frac{ϖ}{k})^2}[/math]

Usamos las identidades trigonométricas:

[math]cos⁡(ϖ·t-α)=cos⁡(ϖ·t)·cos⁡(α)+sen(ϖ·t)·sen(α)[/math]

De tal manera que:

[math]\frac{(cos⁡(ϖ·t)·cos⁡(α)+sen(ϖ·t)·sen(α)}{(1+(\frac{ϖ}{k})^2}=\frac{cos⁡(ϖ·t)⁡+\frac{ϖ}{k}·sen(ϖ·t)}{1+(\frac{ϖ}{k})^2}[/math]
  • [math]cos⁡(ϖ·t)·cos⁡(α)= cos(ϖ·t)·1→cos⁡(α)=1[/math]
  • [math]sen(ϖ·t)·sen(α)=\frac{ϖ}{k}·sen(ϖ·t)→sen(α)=\frac{ϖ}{k}[/math]

Quedando:

[math] \frac{sen(α)}{cos⁡(α)}=\frac{\frac{ϖ}{k}}{1}⇒tg(α)=\frac{ϖ}{k}[/math]

3.4 Representación por método numérico e interpretación

En este apartado vamos a resolver numéricamente el probelma de Cauchy definido anteriormente, para ello tomaremos una temperatura interior inicial igual a 13°C y supondremos que la temperatura exterior varía con el tiempo adoptando la forma de una función senoidal M(t)=7-5 × cos(π/12 × t). La representaremos mediante los métodos de Euler y de Runge-Kutta de orden 4 con longitudes de paso h=0.1, 0.01 y 0.001 para un lapso de tiempo de 24h.

Variación de la temperatura con el tiempo para distintos pasos
% VARIACIÓN DE TEMPERATURA EN EL EDIFICIO SIN CALEFACCIÓN NI AIRE
% ACONDICIONADO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; clf; clear all;
% DATOS DE PARTIDA:
t0=0; tN=24; % Intervalo de tiempo en horas.
T0=input('Introduzca el valor de la temperatura interna inicial: ');       
h=input('Introduzca vector de longitudes de paso: ');
for i=1:length(h)
    h2=h(i);
% DISCRETIZACIÓN DE LA VARIABLE INDEPENDIENTE "t":
t=t0:h2:tN;           % Vector de tiempos.
f=inline('1/3*(4-5*cos((pi/12)*t)-T)+3+(7/8)*(22-T)','t','T');
figure(i)
T=zeros(1,length(t)); % Matriz "vacía" de la solución numérica.
T(1)=T0;
% FUNCIÓN TEMPERATURA EXTERIOR
M=7-5*cos((pi/12)*t);
% CÁLCULO NUMÉRICO Y GRÁFICAS:
%-------------------------- Método de Euler -------------------------------
TE=T;
for j=1:length(t)-1;
    TE(j+1)=TE(j)+h2*f(t(j),TE(j));
end
subplot(2,1,1) % Primera gráfica: Método de Euler.
hold on
plot(t,M,'b')  % Gráfica de temperaturas exteriores.
plot(t,TE,'r') % Gráfica de temperaturas interiores.
k=h(i);
legend('Exterior temperature','Indoor temperature','Location','best')
title(['Euler Method with  ' num2str(k) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
%------------------------- Método de Runge-Kutta --------------------------
TRK=T;
for j=1:length(t)-1
  K1=f(t(j),TRK(j));
  K2=f(t(j)+h2/2,TRK(j)+(h2/2)*K1);
  K3=f(t(j)+h2/2,TRK(j)+(h2/2)+K2);
  K4=f(t(j)+h2,TRK(j)+h2*K3);
  TRK(j+1)=TRK(j)+(h2/6)*(K1+2*K2+2*K3+K4);
end
subplot(2,1,2)  % Segunda gráfica: Método de Runge-kutta de orden 4
hold on
plot(t,M,'b')   % Gráfica de temperaturas exteriores.
plot(t,TRK,'r') % Gráfica de temperaturas interiores.
legend('Exterior temperature','Indoor temperature','Location','best')
title(['Runge Kutta Method with ' num2str(k) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
end


4 Efecto en la temperatura interior [math]T(t)[/math] del uso de calefacción y aire acondicionado [math](U(t)≠0)[/math]

4.1 A

4.2 B

4.3 C

Variación de la temperatura con el tiempo para distintos pasos usando calefacción y aire acondicionado


% VARIACIÓN DE TEMPERATURA EN EL EDIFICIO CON CALEFACCIÓN O AIRE
% ACONDICIONADO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; clf; clear all;
% DATOS DE PARTIDA:
t0=0; tN=24; % Intervalo de tiempo en horas.
T0=input('Introduzca el valor de la temperatura interna inicial: ');       
h=input('Introduzca vector de longitudes de paso: ');
for i=1:length(h)
    h2=h(i);
% DISCRETIZACIÓN DE LA VARIABLE INDEPENDIENTE "t":
t=t0:h2:tN;           % Vector de tiempos.
f=inline('1/3*(4-5*cos((pi/12)*t)-T)+3+(7/8)*(22-T)','t','T');
figure(i)
T=zeros(1,length(t)); % Matriz "vacía" de la solución numérica.
T(1)=T0;
% FUNCIÓN TEMPERATURA EXTERIOR
M=4-5*cos((pi/12)*t);
% CÁLCULO NUMÉRICO Y GRÁFICAS:
%-------------------------- Método de Euler -------------------------------
TE=T;
for j=1:length(t)-1;
    TE(j+1)=TE(j)+h2*f(t(j),TE(j));
end
subplot(2,1,1) % Primera gráfica: Método de Euler.
hold on
plot(t,M,'b')  % Gráfica de temperaturas exteriores.
plot(t,TE,'r') % Gráfica de temperaturas interiores.
k=h(i);
legend('Exterior temperature','Indoor temperature','Location','best')
title(['Euler Method with  ' num2str(k) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
%------------------------- Método de Runge-Kutta --------------------------
TRK=T;
for j=1:length(t)-1
  K1=f(t(j),TRK(j));
  K2=f(t(j)+h2/2,TRK(j)+(h2/2)*K1);
  K3=f(t(j)+h2/2,TRK(j)+(h2/2)+K2);
  K4=f(t(j)+h2,TRK(j)+h2*K3);
  TRK(j+1)=TRK(j)+(h2/6)*(K1+2*K2+2*K3+K4);
end
subplot(2,1,2)  % Segunda gráfica: Método de Runge-kutta de orden 4
hold on
plot(t,M,'b')   % Gráfica de temperaturas exteriores.
plot(t,TRK,'r') % Gráfica de temperaturas interiores.
legend('Exterior temperature','Indoor temperature','Location','best')
title(['Runge Kutta Method with ' num2str(k) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
end


5 Planteamiento del edificio como dos compartimentos

5.1 A

5.2 B

% EDIFICIO CON DOS ZONAS DIFERENCIADAS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; clf; clear all;
% DATOS DE PARTIDA:
ne=2;        % Número de ecuaciones
t0=0; tN=24; % Intervalo de tiempo en horas.
T0=[20,18];  % Vector temp. iniciales de las zonas A y B respectivamente.
ke1=1/4;     % Transmisividad térmica externa en la zona A.
ke2=1/5;     % Transmisividad térmica externa en la zona B.
ki=1/2;      % Transmisividad térmica interna entre zonas.
    
% PLANTEAMIENTO DE LA FUNCIÓN DERIVADA:
fun=input('Introduzca el vector función y´=f(t,T)= ','s');
% DISCRETIZACIÓN DE LA VARIABLE INDEPENDIENTE "t":
h=input('Introduzca el tamaño de paso h: ');
for i=1:length(h)
    h2=h(i);
 N=round((tN-t0)/h2);   % Número de subintervalos.
 t=t0:h2:tN;            % Vector de tiempo.
 f=inline(fun,'t','T');
 T=zeros(ne,length(t)); % Matriz "vacía" de la solución numérica.
 T(:,1)=T0';
 figure(i)
%--------------------------------------------------------------------------
% FUNCIÓN TEMPERATURA EXTERIOR:
  M=2-7*cos(pi*t/12);
% CÁLCULO NUMÉRICO Y GRÁFICAS:
%--------------------------- Método de Euler ------------------------------
for k=1:N
    T(:,k+1)=T(:,k)+h2*f(t(k),T(:,k));
end
subplot(2,2,1)     % Primera gráfica: Método de Euler.
hold on
plot(t,M,'b')      % Gráfica de temperaturas exteriores.
plot(t,T(1,:),'r') % Gráfica de temperaturas en la zona A.
plot(t,T(2,:),'g') % Gráfica de temperaturas en la zona B.
j=h(i);
legend('Exterior temperature','Temperature A','Temperature B','Location','best')
title(['Zonal temperature (Euler Method) with ' num2str(j) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
%---------------------- Método de Euler implícito -------------------------
I=eye(ne);
for k=1:N
    A=[-(5/3+ke1+ki),ki;ki,-(13/7+ke2+ki)];
    B=[ke1*(2-7*cos(pi*t/12))+110/3+10*t./(1+t);
       ke2*(2-7*cos(pi*t/12))+299/7+4*cos(pi*t/6)];
    T(:,k+1)=(I-h2*A)\(T(:,k)+h2*B(:,k+1));
end
subplot(2,2,2)     % Segunda gráfica: Método de Euler Implícito.
hold on
plot(t,M,'b')      % Gráfica de temperaturas exteriores.
plot(t,T(1,:),'r') % Gráfica de temperaturas en la zona A.
plot(t,T(2,:),'g') % Gráfica de temperaturas en la zona B.
j=h(i);
legend('Exterior temperature','Temperature A','Temperature B','Location','best')
title(['Zonal temperature (Backward Euler Method) with ' num2str(j) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
%----------------------- Método de Runge-Kutta ----------------------------
for k=1:N
    K1=f(t(k),T(:,k));
    K2=f(t(k)+1/2*h2,T(:,k)+1/2*K1*h2);
    K3=f(t(k)+1/2*h2,T(:,k)+1/2*K2*h2);
    K4=f(t(k)+h2,T(:,k)+K3*h2);
    T(:,k+1)=T(:,k)+h2/6*(K1+2*K2+2*K3+K4);
end
subplot(2,2,3)     % Tercera Gráfica: Método de Runge-Kutta de orden 4.
hold on
plot(t,M,'b')      % Gráfica de temperaturas exteriores.
plot(t,T(1,:),'r') % Gráfica de temperaturas en la zona A.
plot(t,T(2,:),'g') % Gráfica de temperaturas en la zona B.
j=h(i);
legend('Exterior temperature','Temperature A','Temperature B','Location','best')
title(['Zonal temperature (Runge-Kutta Method) with ' num2str(j) ''])
xlabel('Time (hours)'); ylabel('Temperature (ºC)')
hold off
end
%--------------------------------------------------------------------------