Я использую регрессию в Matlab.
Я хочу хорошо хранить переменные в структурах.
Вот код:
clc;
clear;
fruit_names={'Apple','Pear','Melon'};
Predictors.Apple = rand(500,11);
Predictors.Pear = rand(500,11);
Predictors.Melon = rand(500,11);
Returns.Apple = rand(500,1);
Returns.Pear = rand(500,1);
Returns.Melon = rand(500,1);
%%
kk=1;
for d = 1:length(fruit_names)
for i = [1,2,3,4,5,6,12,24,48,60]
for jj = 1:11
K = i;
xinit=[Predictors.(fruit_names{d})(:,jj)];
yinit=Returns.(fruit_names{d});
[b,bint,r,rint,stats] = regress(yinit,xinit);
Stats.(fruit_names{d})(kk+1)=stats(1);
kk=kk+1;%to help with reporting
end
end
end
Это, честно говоря, моя лучшая попытка на простом примере.Если я правильно помню, для этого требуется набор инструментов Econometrics.
Проблема, с которой я столкнулся, состоит в том, что структура Stats хранит нужные мне результаты, но после первых переменных есть несколько бесполезных нулей.
Я опубликовал и удалил предыдущий вопрос, в котором предлагается удалить переменные (kk, :), но если я сделаю это, он содержит только конечные результаты, а не эволюцию результатов через цикл for.