2011-08-26 17 views

risposta

8

È possibile ottenere l'elenco di tutte le variabili come stringa utilizzando who:

myvars = who; 

poi se si vuole fare qualcosa con il contenuto delle variabili (who dà solo i nomi delle variabili), si può fare qualcosa in questo modo:

for i=1:length(myvars) 
    myfunction(eval(myvars(i))) 
end 
10

sono d'accordo con @ risposta di Simon, se tutto quello che interessa sono le variabili che vengono caricati da un singolo file .mat, si può essere meglio utilizzare il modulo struct-assegnazione di carico:

S = load('myfile.mat') 

Ora, invece di ottenere 'x', 'y', 'z' nell'area di lavoro, è necessario S.x, S.y e S.z.

È quindi possibile scorrere tutti i campi della struct con:

for f = fieldnames(S)' 
    disp(['Field named: ' f{1} ]); 
    disp('Has value ') 
    disp(S.(f{1})); 
end 
Problemi correlati