构建风数据结构

时间:2015-09-16 07:22:50

标签: matlab for-loop structure

我一直在尝试使用struct函数在matlab中构建风数据结构:

struct(fieldname1,value1,fieldname2,value2,......).

我有不同高度的风速和风向,例如40,50,80,90米。问题是,我不了解如何为我的大数据代表“价值”。

 wind_data=struct(ws40,[],ws50,[],ws80,[],ws90,[],wd40,[],wd50,[],wd80,[],wd90,[])

ws =风速。 wd =风向,每个都是向量。

1 个答案:

答案 0 :(得分:0)

您可以手动分配结构:

wind_data.ws40 = [1, 2, 3];
wind_data.wd40 = [4, 5, 6];
wind_data.ws50 = [11, 22, 33];
wind_data.wd50 = [44, 55, 66];

或动态:

heights = [40, 50, 80, 90];
ws      = round(10*rand(4,3));
wd      = round(10*rand(4,3));

for hh = 1:numel(heights)
    wind_data.( [ 'ws' num2str(heights(hh)) ] ) = ws(hh,:)
    wind_data.( [ 'wd' num2str(heights(hh)) ] ) = wd(hh,:)
end

或直接分配它们,您必须将字段名放在''Ed Smith已经说过:

heights = [40, 50, 80, 90];
ws      = round(10*rand(4,3));
wd      = round(10*rand(4,3));

wind_data = struct('ws40', ws(1,:), ...
                   'wd40', wd(1,:), ...
                   'ws50', ws(2,:), ...
                   'wd50', wd(2,:) );