早上好,
我认为我的问题必须非常简单,但我找不到怎么做。我有一个循环,我想“保存”结果。问题是代码我只能保存'last'列,而不是全部。这是代码:
b = xlsread('Data.xls', 'Sheet1'); %here I'm reading the excel data
d= size(b); % the size of the input table is 8 x 16 columns.
cols= d(:,2);
Results=[]
for a=b(:,2:cols)
n= 2;
m2 = ar(a,n);
K=6;
hf2=forecast(m2,a,K);
for a=b(:,2:cols) % here I try to save the results but it only save the 'last column', not all the columns.
Results=[forecast(m2,a,K)]
end
end
可能是什么问题?
提前致谢! :)
答案 0 :(得分:0)
问题是第二个循环,您要保存输出。使用新输出在每次迭代中替换Results
。您应该在循环之前将Results
预先分配到其最终大小,并在循环中逐列填充它。有两个循环也没有意义。在这里,我摆脱了一些额外的变量,并试图让你的代码整洁:
b = xlsread('Data.xls', 'Sheet1');
[~, cols] = size(b);
n = 2;
K = 6;
Results = zeros(K, cols - 1);
for ii = 2:cols
a = b(:, ii);
Results(: , ii) = forecast(ar(a, n), a, K);
end