Originariamente inviato da ramy89
Lo devi fare per forza iterativamente, cioè specificando ogni volta il nome.
Come ad esempio:
codice:
for i=1:4
    if i==1
        tizio_1=matrice_gia_esistente;
    end;
    % e cosi pure con gli altri
end;
era un'ottima idea, solo che l'indice i non so fino a quanto arriva...avevo scritto un caso generale. Metto il codice originale così magari si capisce meglio cosa voglia:

codice:
function   Filtra(dataset,rec, step)
    struttura = Carica(dataset,rec,step); % 15240xNel
    
    %costruisco il filtro
      f1= 0.5;  
     f2 = 55;
     n = 6;
    sf = 254.31;

    
    Wn = [f1 f2]/(sf/2);
        [b a] = butter(n, Wn, 'bandpass');
    
%TROVA IL NUMERO DI MINUTI DELLA STRUTTURA
    s = fieldnames (struttura);
    s_= size (s);
    min = s_(1);
%FILTRIAMO MINUTO PER MINUTO 
vmatrix = struct2cell (struttura);  %ho trasformato la struct in matrice. 
    for i = 1 : min
        meg_signal_ = vmatrix {i, 1};
ss = size (meg_signal_); 
Nel = ss (2);
    for j = 1 : Nel
        meg_signal_(:,j) = filter(b, a, meg_signal_(:,j));
    end
    %creare il salvataggio
   
    path = 'D:\MEG_OCD/02_Data_Artefact_Instr_Rem';
    

save([path,'/dati','/meg_signal_',num2str(i),'_', num2str(rec)], 'meg_signal_');
    end
end
sto facendo un'ottimizzazione processamento dati.
Mi serve cambiare il nome delle matrici meg_signal_ filtrate, differenziandole ognuna dal termine i che va da 1 a min, con min che non si sa a priori.
Non esiste qualche metodo iterativo come mi hai suggerito con l'if che incrementa fino a min ?