我一直在尝试使用struct函数在matlab中构建风数据结构:
struct(fieldname1,value1,fieldname2,value2,......).
我有不同高度的风速和风向,例如40,50,80,90
米。问题是,我不了解如何为我的大数据代表“价值”。
wind_data=struct(ws40,[],ws50,[],ws80,[],ws90,[],wd40,[],wd50,[],wd80,[],wd90,[])
ws
=风速。 wd
=风向,每个都是向量。
答案 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,:) );