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

De MateWiki
Saltar a: navegación, buscar
(Introducción y objetivo)
Línea 6: Línea 6:
 
{{matlab|codigo=
 
{{matlab|codigo=
 
clear, close all
 
clear, close all
%Apartado 2.d
+
 
%Introducir los datos del problema
+
%Introducimos los datos del problema
 
t0=0;
 
t0=0;
 
tN=24;
 
tN=24;
Línea 13: Línea 13:
 
disp('introduce los pasos que desees tomar en forma de vector')
 
disp('introduce los pasos que desees tomar en forma de vector')
 
h=input('introduzca longitud de paso: ');
 
h=input('introduzca longitud de paso: ');
 +
 +
% Creamos un bucle que nos representa la solución para cada uno de los valores de h
 
for i=1:length(h)
 
for i=1:length(h)
 
     h2=h(i);
 
     h2=h(i);
Línea 19: Línea 21:
 
f=inline('1/3*(7-5*cos((pi/12)*t)-T)+3','t','T');
 
f=inline('1/3*(7-5*cos((pi/12)*t)-T)+3','t','T');
 
figure(i)
 
figure(i)
 +
 
hold on
 
hold on
 
%definimos la función que modeliza la temperatura exterior
 
%definimos la función que modeliza la temperatura exterior
Línea 24: Línea 27:
 
subplot(2,1,1)
 
subplot(2,1,1)
 
plot(t,Text,'b')
 
plot(t,Text,'b')
 +
 
%generamos el vector TE que es el que contendra la solucion por Euler
 
%generamos el vector TE que es el que contendra la solucion por Euler
 
TE=zeros(1,length(t));
 
TE=zeros(1,length(t));
%Euler (solucion por trapecio)
+
%Euler
 
TE(1)=T0;
 
TE(1)=T0;
 
for j=1:length(t)-1;
 
for j=1:length(t)-1;
Línea 33: Línea 37:
 
plot(t,TE,'r')
 
plot(t,TE,'r')
 
k=h(i);
 
k=h(i);
 +
%El título variará en función del paso que se utilice en cada iteración
 
title(['Método de Euler con paso ' num2str(k) ''])
 
title(['Método de Euler con paso ' num2str(k) ''])
 
xlabel('horas')
 
xlabel('horas')

Revisión del 20:23 28 abr 2016

Introducción y objetivo

Vamos a desarrollar un modelo matemático que aproxime el comportamiento de la temperatura en un edificio con unos parámetros de aislamiento definidos y expuesto a una cierta temperatura ambiente exterior. Para modelizar este suceso utilizaremos la teoría de ecuaciones diferenciales y modelos numéricos resueltos mediante programas de código Matlab (Matlab R2016a y Octave UPM).

clear, close all

%Introducimos los datos del problema
t0=0;
tN=24;
T0=13;
disp('introduce los pasos que desees tomar en forma de vector')
h=input('introduzca longitud de paso: ');

% Creamos un bucle que nos representa la solución para cada uno de los valores de h
for i=1:length(h)
    h2=h(i);
%discretizamos la variable independiente
t=t0:h2:tN;
f=inline('1/3*(7-5*cos((pi/12)*t)-T)+3','t','T');
figure(i)

hold on
%definimos la función que modeliza la temperatura exterior
Text=7-5*cos((pi/12)*t);
subplot(2,1,1)
plot(t,Text,'b')

%generamos el vector TE que es el que contendra la solucion por Euler
TE=zeros(1,length(t));
%Euler
TE(1)=T0;
for j=1:length(t)-1;
    TE(j+1)=TE(j)+h2*f(t(j),TE(j));
end
plot(t,TE,'r')
k=h(i);
%El título variará en función del paso que se utilice en cada iteración
title(['Método de Euler con paso ' num2str(k) ''])
xlabel('horas')
ylabel('ºC')
hold off

%metodo de Runge-Kutta
subplot(2,1,2)
plot(t,Text,'b')
TRK=zeros(1,length(t));
TRK(1)=T0;
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
plot(t,TRK,'r')
title(['Método de Runge Kutta orden 4 con paso ' num2str(k) ''])
xlabel('horas')
ylabel('ºC')
hold off
end