clc
clear all
close all


Dati_ch = getappdata(0,'Dati_ch'); 
Dati_id = getappdata(0,'Dati_id'); 


%carico i dat
Dati=Dati_id;

%%
%sseh

for i = 1:length(Dati)
    
   [p n]= size(Dati(i).t.sseh_yy_norm);
   
   
   for ii=1:p
       
       for jj=1:n
           %mi calcolo la dimensione
           [ ib  nmi ] = size(Dati(i).t.sseh_yy_norm(ii,jj).Mnpf.b);
           
           indici=[];
           
           for j=1:ib
               sum_b=sum(Dati(i).t.sseh_yy_norm(ii,jj).Mnpf.b(j,:));
               
               if j==i
                    
                   indici=[ indici -1 ];
                   
               end

               if sum_b==0
                    indici=[ indici 0 ];
               else
                    indici=[ indici 1 ];
               end

               
               
           end
           
           sparsita(i).sseh_yy.mod(ii,jj).indici=indici;
           sparsita(i).sseh_yy.mod(ii,jj).indici_mtrx=[ indici(1:length(Dati)) ; indici(length(Dati)+1:2*length(Dati)) ; indici(2*length(Dati)+1:3*length(Dati))];
           sparsita(i).sseh_yy.mod(ii,jj).n=Dati(i).t.sseh_yy_norm(ii,jj).n_;
           sparsita(i).sseh_yy.mod(ii,jj).p=Dati(i).t.sseh_yy_norm(ii,jj).p_;
           
       end
       
   end
end

for i = 1:length(Dati)
    
   [p n]= size(Dati(i).t.sseh_ny_norm);
   
   
   for ii=1:p
       
       for jj=1:n
           
           [ ib  nmi ] = size(Dati(i).t.sseh_ny_norm(ii,jj).Mnpf.b);
           
           indici=[];
           
           for j=1:ib
               sum_b=sum(Dati(i).t.sseh_ny_norm(ii,jj).Mnpf.b(j,:));
               
               
               if j==i
                   
                   %k=sum(abs(Dati(i).t.ssglar_norm.mod(ii,jj).Mnpg.a(2:end)));
                    
                   indici=[ indici -1 ];
                   
               end

               if sum_b==0
                    indici=[ indici 0 ];
               else
                    indici=[ indici 1 ];
               end

               
               
           end
           
           sparsita(i).sseh_ny.mod(ii,jj).indici=indici;
           sparsita(i).sseh_ny.mod(ii,jj).indici_mtrx=[ indici(1:length(Dati)) ; indici(length(Dati)+1:2*length(Dati)) ; indici(2*length(Dati)+1:3*length(Dati))];
           sparsita(i).sseh_ny.mod(ii,jj).n=Dati(i).t.sseh_ny_norm(ii,jj).n_;
           sparsita(i).sseh_ny.mod(ii,jj).p=Dati(i).t.sseh_ny_norm(ii,jj).p_;
           
       end
       
   end
end

%%
%ssglar
for i = 1:length(Dati)
    
   [p n]= size(Dati(i).t.ssglar_norm.mod);
   
   
   for ii=1:p
       
       for jj=1:n
           %mi calcolo la dimensione
           [ ib  nmi ] = size(Dati(i).t.ssglar_norm.mod(ii,jj).Mnpg.b);
           
           indici=[];
           
           for j=1:ib
               sum_b=sum(Dati(i).t.ssglar_norm.mod(ii,jj).Mnpg.b(j,:));
               
               if j==i
                   
                   %k=sum(abs(Dati(i).t.ssglar_norm.mod(ii,jj).Mnpg.a(2:end)));
                    
                   indici=[ indici -1 ];
                   
               end

               if sum_b==0
                    indici=[ indici 0 ];
               else
                    indici=[ indici 1 ];
               end
               
               
           end
           
           sparsita(i).ssglar.mod(ii,jj).indici=indici;
           sparsita(i).ssglar.mod(ii,jj).indici_mtrx=[ indici(1:length(Dati)) ; indici(length(Dati)+1:2*length(Dati)) ; indici(2*length(Dati)+1:3*length(Dati))];
           sparsita(i).ssglar.mod(ii,jj).n=Dati(i).t.ssglar_norm.mod(ii,jj).n;
                      
       end
       
   end
end


%%
clc

for i = 1:length(Dati)
    
   [p n]= size(Dati(i).t.sseh_yy_norm);
   
    utilizzo=zeros(size(sparsita(i).sseh_yy.mod(1,1).indici_mtrx));   
   
   for ii=1:p
       
       for jj=1:n
           
           utilizzo = utilizzo + sparsita(i).sseh_yy.mod(ii,jj).indici_mtrx;
           
           sparsita(i).sseh_yy.utilizzo=utilizzo;
           
       end
       
   end
   
   sparsita(i).sseh_yy.utilizzo_per=utilizzo/(p*n);
   
end


for i = 1:length(Dati)
    
   [p n]= size(Dati(i).t.sseh_ny_norm);
   
   utilizzo=zeros(size(sparsita(i).sseh_ny.mod(1,1).indici_mtrx));
   
   
   for ii=1:p
       
       for jj=1:n
           
           utilizzo = utilizzo + sparsita(i).sseh_ny.mod(ii,jj).indici_mtrx;
           
           sparsita(i).sseh_ny.utilizzo=utilizzo;
           
       end
       
   end
   
   sparsita(i).sseh_ny.utilizzo_per=utilizzo/(p*n);
   
end
   

disp('fine')

%%
%calcolo della distribuzione con n e p fissi e variando solo i sensori
clc
[p n]= size(Dati(i).t.sseh_yy_norm);

for ii=1:p

   for jj=1:n

       utilizzo=zeros(size(sparsita(i).sseh_yy.mod(ii,jj).indici_mtrx));

       for i = 1:length(Dati)

            utilizzo = utilizzo + sparsita(i).sseh_yy.mod(ii,jj).indici_mtrx;

       end


       for i = 1:length(Dati)           
            sparsita(i).sseh_yy.mod(ii,jj).utilizzo=utilizzo; 
            sparsita(i).sseh_yy.mod(ii,jj).utilizzo_per=utilizzo/length(Dati);
       end

   end

end

[p n]= size(Dati(i).t.sseh_ny_norm);

for ii=1:p

   for jj=1:n

       utilizzo=zeros(size(sparsita(i).sseh_ny.mod(ii,jj).indici_mtrx));

       for i = 1:length(Dati)

            utilizzo = utilizzo + sparsita(i).sseh_ny.mod(ii,jj).indici_mtrx;

       end


       for i = 1:length(Dati)           
            sparsita(i).sseh_ny.mod(ii,jj).utilizzo=utilizzo; 
            sparsita(i).sseh_ny.mod(ii,jj).utilizzo_per=utilizzo/length(Dati);
       end

   end

end

sparsita_id=sparsita;

disp('fine1')

setappdata(0,'sparsita_id',sparsita_id)


   
   