Effacer les filtres
Effacer les filtres

How to import multiple .m files

12 vues (au cours des 30 derniers jours)
liu James
liu James le 9 Déc 2016
Modifié(e) : Stephen23 le 10 Déc 2016
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 commentaire
Star Strider
Star Strider le 9 Déc 2016
Are you asking about MATLAB script ‘.m’ files or binary ‘.mat’ files?

Connectez-vous pour commenter.

Réponses (2)

Park Joohyung
Park Joohyung le 9 Déc 2016
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 commentaires
Stephen23
Stephen23 le 10 Déc 2016
Modifié(e) : Stephen23 le 10 Déc 2016
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:
Instead of writing cargo-cult code using eval, simply call load directly:
S = load(sprintf('name%d.mat',k))
Park Joohyung
Park Joohyung le 10 Déc 2016
Thank you stephen, i admit that, your code looks much simpler.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 10 Déc 2016
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.

Catégories

En savoir plus sur Variables dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by