matlab自均值恢复过程生成数据问题

本人现预从以下均值恢复过程生成自t=1:T的数据:

y_t=u+phiy_t-1+phiy_t-2+e_t, e_t为(0,16)的正态分布。 其中T=150,u=15,phi1=0.2,phi2=0.6,y_-1=y_0=5u

以下为本人写的代码

T=150; mu=15, phi1=0.2; phi2=0.6;y=[1:T]';a=4;y(-1)=mu5;y(0)=mu5
for t=1:T
y(t)=mu+phi1y(t-1)+phi2y(t-2)+a*randn
end
y

运行结果报错:数组索引必须为正整数或逻辑值。
后通过首先自己给y(1) y(2)赋值

T=150; mu=15, phi1=0.2; phi2=0.6;y=[1:T]';a=4;
y(1)=mu+phi1mu5+phi2mu5+arandn;
y(2)=mu+phi1
y(1)+phi2mu5+arandn;
for t=3:T
y(t)=mu+phi1
y(t-1)+phi2y(t-2)+arandn
end
y

似乎有效,但不太确定,请问我后一种方法是正确的么?另外如果不想通过首先确定y(1) y(2)的话应该如何修改代码呢?即如何修改第二段的代码解决数组索引必须为正整数或逻辑值的问题?谢谢

后面改的是正确的,在matlab里面,索引是从1开始的,所以开始的时候出现-1和0,就会报错,目前好像没有什么方法可以改