这是我到目前为止的剧本:
inpdata = log(tower_wind_GF_2001);
inpdata = inpdata(~any(isnan(inpdata),2),:);
inpdata = inpdata(~any(isinf(inpdata),2),:);
names = {'trend10' 'trend20' 'trend40' 'trend80' 'trend120' 'trend200'};
names2 = {'slope10' 'slope20' 'slope40' 'slope80' 'slope120' 'slope200'};
for i = linspace(2,12,6);
for j = linspace(3,13,6);
for varname = 1:length(names)
for varname2 = 1:length(names2)
p = polyfit(inpdata(:,i), inpdata(:,j), 1);
slope = p(1);
int = p(2);
trend = slope*inpdata(:,i) + int;
trend = real(trend);
trends.(names{varname}) = trend;
slopes.(names2{varname2}) = slope;
end
end
end
end
其中inpdata矩阵具有连续的列,其中包含6个不同高度的两个参数。例如,
inpdata(:,2)
和
inpdata(:,3)
是10米高的两个参数。
然而,脚本将与trend10和trend20等相同的向量。我是否必须在之前预先分配或存储向量在单元格数组中?我假设循环将遍历所有计算,分配变量名称,然后移动到i和j中的第二个值,但显然我错了。
非常感谢!