Matlab 在完成布局任务之前循环覆盖变量。。。应该是一个简单的点,但我错过了一些东西
这是我迄今为止的剧本:Matlab 在完成布局任务之前循环覆盖变量。。。应该是一个简单的点,但我错过了一些东西,matlab,loops,struct,overwrite,Matlab,Loops,Struct,Overwrite,这是我迄今为止的剧本: 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'
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)
及
是10 m高度的两个参数
但是,脚本将为trend10和trend20等提供相同的向量。之前我是否必须预先分配向量或将向量存储在单元格数组中?我假设循环将运行所有计算,分配变量名,然后移动到I和j中的第二个值,但显然我错了
非常感谢 这是哪种编程语言?嘿,我在Matlab中这样做。你的解释很好,但你的问题碰巧有一些语法问题,让人很难理解。你能再解释一下吗?在任何意义上,检查一下这个
inpdata(:,3)