%file per valutare l'evoluzione del sistema tenendo solo alcuni segnali
%veri e simulando contemporaneamente tutti i sensori, ovviamente stiamo
%parlando dei sensori di temperatura di cui disponiamo del modello

clc

close all

%ixd 5 sensore esterno
%ixd 8 sensore termi

start_val=1000;     %inizio da cui si simula
end_val=1500;       %fine intervallo simulazione
str=1;              %deve essere 1, se no 
Dati_ch = getappdata(0,'Dati_ch');      %solito load, bisogna eseguire prima il main
Dati_id = getappdata(0,'Dati_id'); 

close all

Dati=Dati_id;  %seleziono su quale usarlo

%mi manca udati completa la recupero fondendo udati con y1
Udati_norm=[Dati(1,1).t.y_norm  Dati(1,1).t.Udati_norm];
Udati_org=Udati_norm;

[r c]=size(Udati_norm);

for i=1:length(Dati)
    
    tmp=[ Udati_norm(1:start_val,i); zeros(r-start_val,1) ];
 
    %si simulano tutti eccoto quelli nell'espressione
    
%     if ( i==4  )
%     else
%         Udati_norm(:,i)=tmp;
%     end
 

%qui si simulano solo quelli  nell'espressione

     if ( i==2 || i==3  )
         Udati_norm(:,i)=tmp;
     end
%     
    
end

%% caricamento modello

for j=1:length(Dati)
       Model(j).mod=Dati(j).t.sseh_yy_norm(2,4).Mnpf;
       %Model(j).mod=Dati(j).t.ssglar_norm.mod.Mnpg;
end
  

%% simulazione
U=[];


for i=start_val:end_val
    
    i  %stampo per sapere a che punto sono
    
    for j=1:length(Dati)
        U(j).U=cancel_y_from_U(Udati_norm,j);  %carico le varie U
        my_y=Udati_norm(str:i,j);
        my_dati=U(j).U(str:i,:);
        Dati(j).iddata=iddata(my_y,my_dati);  %genero iddata da dare al predict
        %Dati(j).iddata=iddata(Udati_norm(str:i,j),U(j).U(str:i,:));
        
        y(j).iddata=predict(Model(j).mod,Dati(j).iddata,1);
        
        if Udati_norm(end,j)==0 && Udati_norm(end-1,j)==0 && Udati_norm(end-2,j)==0 && Udati_norm(end-3,j)==0 
            Udati_norm(i+1,j)=y(j).iddata.y(i);  %aggiorno solo se il sensore è stato deciso che fosse da simulare
        end
    end
 
end

disp('fine')

%end_val=end_val-1;

%%

%ploto e salvo le varie figure
close all

dir_predicte=['predicte' ];
mkdir(dir_predicte);

dir_comb=['sseh_fis_23_long' ];
mkdir(dir_predicte,dir_comb);

for i=1:length(Dati)
    v=var(Dati(i).t.y_org)^(1/2);
    m=mean(Dati(i).t.y_org);

    figure(i)
    hold on
    
%     plot(Udati_norm(str:end_val,i),'b')
%     plot(Udati_org(str:end_val,i),'r')
%     plot((Udati_norm(str:end_val,i)-Udati_org(str:end_val,i)),'g')
    
    plot(Udati_norm(str:end_val,i)*v+m,'b')
    plot(Udati_org(str:end_val,i)*v+m,'r')
    plot((Udati_norm(str:end_val,i)-Udati_org(str:end_val,i))*v,'g')
    %axis([(start_val-500) (end_val) -10 50])
    hold off
    
    somma=sum(Udati_norm(1:end_val,i)-Udati_org(1:end_val,i));
    
    
   file_name_eps=[ dir_predicte '\'  dir_comb  '\eps_noscale_sens_'  num2str(i)   '.eps'];
   file_name_jpg=[ dir_predicte '\'  dir_comb  '\jpg_noscale_sens_'  num2str(i)   '.jpg'];
   file_name_fig=[ dir_predicte '/'  dir_comb  '/fig_noscale_sens_'  num2str(i)   '.fig'];

   print(gcf, '-depsc', file_name_eps );
   saveas(gcf,file_name_jpg, 'jpg');
   saveas(gcf,file_name_fig,'fig');
    
    if somma==0
        close(i)
    else
       
       
    end
end

close all



%print(gcf, '-depsc', 'figure\bode_filter.eps')
