我正在尝试使用 MATLAB 中的这个公式从一些起始值生成一个数组:
y t = a 0 + ∑<sub>i=1 p (a i ⋅ y t-i ), t ≥ p
与T (max t)相比,p是一个很小的数字。我已经能够使用两个for
周期来做到这一点,但它真的很慢。有什么简单的方法吗?
提供了y的第一个p值,并且还提供了向量a(其长度为p+1)...
这是我到目前为止所拥有的,但是现在当我尝试它时,它不能 100% 工作(我认为这是因为在 MATLAB 中从 1 开始索引):
y1 = zeros(T+1, 1);
y1(1:p) = y(1:p);
for t = p+1:T+1
value = a1(1);
for j = 2:p+1
value = value + a1(j)*y1(t-j+1);
end
y1(t) = value;
end
编辑:我解决了,我只是不习惯从 1 开始的 Matlab 索引...