How to import multiple .m files
显示 更早的评论
Is there a simple loop or so to call multiple files and extract the sub structures from it where all .m files have the same substructure?
1 个评论
Star Strider
2016-12-9
Are you asking about MATLAB script ‘.m’ files or binary ‘.mat’ files?
回答(2 个)
Park Joohyung
2016-12-9
I`m answering assuming that you are mentioning '.mat' file. ('.m' file is merely a matlab script file..) If the data you want to load has regular name, like 'name1.mat', 'name2.mat'..., I recommend you to use 'eval' function with for loop.
for i=1:10
eval( ['load(''name' num2str(i) '.mat'')'] );
end
2 个评论
Do not do this. This is pointless usage of eval, which serves no functional purpose at all in this code, and will only make this code slower, buggier, and harder to follow:
S = load(sprintf('name%d.mat',k))
Park Joohyung
2016-12-10
Thank you stephen, i admit that, your code looks much simpler.
Image Analyst
2016-12-10
See the FAQ for how to process a bunch of files: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F.
In the middle of the loop, put Stephen's code to store all the structures pulled from your mat files.
matFullFileName = fullfile(pwd, sprintf('name%d.mat',k)); % Whatever.....
S{k} = load(matFullFileName) % Store this file's structure in our structure array.
类别
在 帮助中心 和 File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!