How to load specific files according to vector values?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a vector ii(1:20):
ii(1:20)
ans =
2
5
9
10
11
15
16
17
18
20
1
3
4
6
7
8
12
13
14
19
I want to load files according to the values inside the vector, i.e.: to load file called '2.mat', '5.mat', '9.mat' and so on. But I need only the first 10 values of ii (ii(1:10)) (then I combine them in a struct..but that's not relevant).
So this is what I have so far:
for ii=???
load(sprintf('%d.mat', a));
Struct(n).file=Cycle;
end
So how do I load the first 10 values from the vector?
Thank you all!!
0 commentaires
Réponse acceptée
Guillaume
le 7 Nov 2017
Modifié(e) : Guillaume
le 7 Nov 2017
First thing, use better variable names. ii is really bad, it does not mean anything and looks like a temporary variable. Let's call it filenumber instead so it's immediately clear what the purpose of the variable is.
filenumber = [2 5 9 10 11 15 16 17 18 20 1 3 4 6 7 8 12 13 14 19];
filestoload = 10;
cycles = struct('Cycle', cell(1, filestoload)); %predeclare structure
for idx = 1:filestoload;
filecontent = load(sprintf('%d.mat, filenumber(idx))); %avoid plain load, always load into a variable
cycles(idx).Cycle = filecontent.Cycle;
end
0 commentaires
Voir également
Catégories
En savoir plus sur Workspace Variables and MAT-Files dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!