Перезапись переменных цикла перед завершением выложенных задач... Должно быть простое место, но я что-то упустил

Это сценарий, который я до сих пор:

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 ответов

Другие вопросы по тегам