我怎么能修复”试图访问Y (0);索引必须是一个正整数或逻辑。”MATLABfor循环error?

8视图(30天)
我想使用一个for循环在MATLAB和我得到一个错误消息。我下面是创建一个10000的指令x1向量使用随机数发生器和“e”标签,然后第二个10000只包含0 x1向量。然后使用一个循环过程来模拟Y (t) = (1 a) * Y (t - 1) * e (t) = 0.1。我一直试图运行的代码是:
Y = 0 (10000 1);
e = randn (10000 1);
t = 1、2、,10000年
一个= 0.1;
Y (t) = (1 a) * Y (t - 1) * e (t);
结束
我得到一个错误消息,说:“试图访问Y (0);索引必须是一个正整数或逻辑。”Any help is appreciated

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2015年9月7日
t = 1、2、,10000年
无效的语法。请把你的实际代码。
你的公式
Y (t) = (1 a) * Y (t - 1) * e (t);
当t = 1, Y (t - 1)部分是试图访问Y (0)。在MATLAB不能索引数组位置0。
我怀疑你所需要的公式
Y (t + 1) = (1 a) * Y (t) * e (t);
”“从1到9999。然而,它是 可能的 ,而不是你想要的公式,但与t从2循环。
两个公式的区别与e(1)是否应该被使用,如果是它是否应该使用与Y Y(1)或(2)

类别

找到更多的在循环和条件语句帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!