Loading and naming specific columns
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I used this code to import and name data in Matlab:
for i=1951:2000
fileName=['arunoff_' num2str(i)];
dataStruct.(fileName)=importdata([fileName '.txt']);
end
This creates data structure dataStruct.arunoff_(i).data for each year (1951-2000). Next I would like to create and name another set of variables using the third column in 'data' (i.e. dataStruct.arunoff_1951.data(:,3), dataStruct.arunoff_1952.data(:,3) etc.). However, I don't know how to write a loop that does that and was wondering if someone could help me with this? My main problem is I don't know how to tell the loop to use data in each a_runoff(i) structure.
Hope this makes sense, thanks very much for the help!
0 Commenti
Risposta accettata
Walter Roberson
il 30 Ago 2011
fn = fieldnames(dataStruct);
for K = 1:length(fn)
newStruct.([fn 'd3']) = dataStruct.(fn).data(:,3);
end
2 Commenti
Andrei Bobrov
il 30 Ago 2011
Hi Walter!
Little typo.
for K = 1:length(fn)
newStruct.([fn{K} 'd3']) = dataStruct.(fn{K}).data(:,3);
end
Walter Roberson
il 30 Ago 2011
Good point. I mentally started with K = fn (i.e., iterate over the cells) and didn't clean up properly afterwards.
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!