Loading and naming specific columns
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Walter Roberson
2011 年 8 月 30 日
fn = fieldnames(dataStruct);
for K = 1:length(fn)
newStruct.([fn 'd3']) = dataStruct.(fn).data(:,3);
end
2 件のコメント
Andrei Bobrov
2011 年 8 月 30 日
Hi Walter!
Little typo.
for K = 1:length(fn)
newStruct.([fn{K} 'd3']) = dataStruct.(fn{K}).data(:,3);
end
Walter Roberson
2011 年 8 月 30 日
Good point. I mentally started with K = fn (i.e., iterate over the cells) and didn't clean up properly afterwards.
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Whos についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!