PDA

View Full Version : [MATLAB] Nome di matrice che dipende da un int


marej89
28-10-2011, 18:23
Salve,
mi sto cimentando da poco con la programmazione e avrei un problema:
A me interessa che il nome di una matrice dipenda da un'int che varia con un ciclo for.

esempio

for i = 1:4
tizio_i = matrice_già_esistente
end


praticamente io voglio che a posto di tizio_i, ci siano tizio_1, tizio_2, tizio_3 e tizio_4

Come si può fare?
Grazie

marej89
29-10-2011, 13:44
Avevo fatto un caso generale per fare capire il problema.
Metto il codice originale così magari si capisce meglio cosa voglia.

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


mi serve cambiare il nome delle matrici meg_signal_ filtrate, differenziandole ognuna dal termine i che va da 1 a min.

marej89
30-10-2011, 09:22
proverò con le cell...
se hai qualche idea fatti sentire ;)

bladegpa
01-12-2011, 19:04
mmm
servirebbe anche a me indicizzare il nome di una variabile...
appunto
avere in un ciclo tanti
tizio1
tizio2
tizio3

bladegpa
01-12-2011, 19:07
beh mi chidevo appunto se avevi trovato la soluzione :)

bladegpa
01-12-2011, 19:14
la butto lì
for k=1:4
name=strcat('Img',num2str(k),'.bmp')
end

bladegpa
01-12-2011, 20:50
posto un'altra (forse la migliore è questa)
soluzione

for n=1:2
eval(['M' num2str(n) '=zeros(6,6)'])
end

solo che mi chiedevo se era pèossibile richiamre una function...

jepessen
04-12-2011, 10:59
ho capito meglio ciò che vuoi fare e... scusami, ma in quale altro linguaggio è possibile definire a runtime i nomi delle variabili?:)


In Mathematica è possibile, spessissimo con il comando Table creo una tabella di variabili chiamate Var_i cui associo vari valori...