Reading mat files with variables that have different names
Mostra commenti meno recenti
Hi there,
I am trying to load a bunch of mat files, the contents of which are CELL variables. For example when I load a file named "part1_240_T_1200_sig_25.mat", I get a variable named new_X1 which is a cell of size 1 by 240.........I tried various things like calling it in a structure, loading it like new_X = load('part1_240_T_1200_sig_25.mat'), but I still cant automate the process. At the end, I woud like to load the files in a loop (which I have done) but also change the variable names dynamically as the loop goes through several mat files.
So, if I could get something like
for ii = 1:files_length
eval(['load ' files(ii).name ])
num = size(new_X*{"ii"}*,2); %......change the cell variable name with the loop index
end
Would num2str work?? Thanks
Risposta accettata
Più risposte (2)
Jan
il 25 Mag 2012
Avoid eval(). Whenever you think of using this evil function, I promise, that there is a better, nicer, faster and more reliable method. (Phew, the frequent readers of the forum know, that even I know one task, which can be solved by eval() only - beside the evalulation of symbolic expressions).
eval(['load ' files(ii).name ])
==>
load(files(ii).name);
But it is even better to catch the loaded values in a struct:
Data = load(files(ii).name);
2 Commenti
chane moges
il 2 Gen 2019
you answer is incorrect because it jump the sequence of the foor loop. So you correct it and post again.
Image Analyst
il 2 Gen 2019
See my (Image Analyst) answer above. I added a bunch of comments that will hopefully explain it.
TUSHAR ANDRIYAS
il 25 Mag 2012
0 voti
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!