在完成布局任务之前循环覆盖变量......应该是一个简单的位置,但我遗漏了一些东西

时间:2014-08-06 10:13:04

标签: 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' '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中的第二个值,但显然我错了。

非常感谢!

0 个答案:

没有答案