%% Affichage des courbes expérimentales

%% A1: experience preliminaire (pour déterminer deltaT)
clear all; close all; clc;
load('T1_20_min_a_127A.mat'); % Temperature T1
load('T2_20_min_a_127A.mat'); % Temperature T2
deltaT=0.6; % en sec
tsec = 0:deltaT:1200-deltaT;
tmin = tsec./60;
t = tmin;

Tf1 = 101.25;
Tf2 = 99.5;
Ttho1 = 0.67*(Tf1-T1(1))+T1(1);
Ttho2 = 0.67*(Tf2-T2(1))+T2(1);
tho1 = 3.96;
tho2 = 3.96;
deltaTmin = tho1*60/8;  % 29.7 sec
deltaTmax = tho1*60/3;  % 79.2 sec

figure(1),hold on;
plot(t,T1,'r'),plot(t,T2,'b');
plot(t,Tf1*ones(2000,1),'--m'),plot(t,Tf2*ones(2000,1),'--b'); 
yline(Ttho1,'--k');yline(Ttho2,'--k');
xline(tho1,'--k'); xline(tho2,'--k');
text(100,50,['tho = ',num2str(tho1)]);

title('Expérience préliminaire (pour détermination de deltaT)'), xlabel('temps (min)'), ylabel('Température (°c)');
legend('T1','T2','tf1','tf2','tho','Location','southeast'); grid();


%% A2: Experience (pour déterminer paramètre du modèle)
load('sauvegarde.mat'); % contient: T1,T2,u1,u2
deltaT_sec = 42;
t = (0:deltaT_sec:140*deltaT_sec)./60; %en min

figure, 
subplot(211),hold on;
plot(t,T1,'r'), plot(t,u1,'--k'), 
title('Expérience (pour la recherche des paramètres du modèle)'), 
xlabel('temps (min)'), ylabel('T1(°c)  /  u1'), legend('Température T1','commande u1','Location','southeast');
subplot(212),hold on;
plot(t,T2,'b'), plot(t,u2,'--k'), 
xlabel('temps (min)'), ylabel('T2(°c)  /  u2'), legend('Température T2','commande u2','Location','southeast');



%% D: Controleur (test final de bon fonctionnement)

% -------------- Test 1 --------------
% TempsTarget:  20 min à 100,100
%               20 min à 60,60
%               20 min à 70,50
load('test1.mat'); % contient: T1,T2,u1,u2,x
TempTarget = ones(2,86)*100;
TempTarget(:,29:58) = 60;
TempTarget(1,59:end) = 70;
TempTarget(2,59:end) = 50;

figure(4), hold on;
plot(x,T1,'r'), plot(x,T2,'b');
plot(x,TempTarget(1,:),'--m'), plot(x,TempTarget(2,:),'--k');
title('Test final 1 du Controleur'), xlabel('temps (min)'),ylabel('Température (°c)');
legend('T1','T2','T1 désiré','T2 désiré');

% -------- Test 2 ----------
% TempsTarget:  20 min à 80,80
%               40 min à 55,60
load('test2.mat'); % contient: T1,T2,u1,u2,x
load('tTarget.mat') % contient: TempsTarget

figure(5), hold on;
plot(x,T1,'r'), plot(x,T2,'b');
plot(x,TempTarget(1,:),'--m'), plot(x,TempTarget(2,:),'--k');
title('Test final 2 du Controleur'), xlabel('temps (min)'),ylabel('Température (°c)');
legend('T1','T2','T1 désiré','T2 désiré');
