clc
clear all
%close all

datos=load('DATOS_TEMPORALES_ENFRIAMIENTO.txt');

tiempo=datos(:,1);
potencia=datos(:,2);
temperatura=datos(:,3);
nMuestras=size(temperatura,1);

figure(1)
title('Datos experimentales')
subplot(2,1,1)
plot(potencia)
title ('potencia')

subplot(2,1,2)
plot(temperatura)
title ('temperatura')


%% Identificación del sistema con un modelo de 1er orden en el que solo
%% hay que calcular la ganancia y la constante de tiempo
cteTiempo=0.367*(temperatura(1)-temperatura(nMuestras))+temperatura(nMuestras);
instante=1
while ((temperatura(instante))>cteTiempo)
    instante=instante+1;
end
disp('Parámetros del sistema:')
cteTiempo=instante

ganancia=(temperatura(nMuestras)-temperatura(1))/-50

modelo=tf(ganancia,[cteTiempo,1])
opciones = stepDataOptions('InputOffset',50,'StepAmplitude',-50);
[y,t] = step(modelo,opciones);

% con esta figura se comprueba que la respuesta no coincide con un modelo
% de primer orden
figure(2)
hold off
plot(t,y+temperatura(nMuestras))
%hold on
%plot(tiempo,temperatura,'r')
title('Primer orden')