这是我第一次尝试在Octave完成工作。我试图完成“for循环”以获得每个的平均值,然后减去它以将结果集中在5个项目的25个样本中。我得到了正确的数字,但是我也得到了一个超出范围的错误(如下所示)。有人可以帮帮我吗?
error: TrialPartB: A(I,J): row index out of bounds; value 6 out of bound 5
答案 0 :(得分:1)
您已只使用5个数据成员填充了G_all
结构,但是当您计算平均值时,就会循环i=1:25
。只有5个成员,所以当它到达成员6时,它会因'row index out of bounds'错误而失败。
您需要将for循环限制为数据的大小,可能使用rows(G_all)
而不是25
作为循环的限制。
答案 1 :(得分:1)
正如rolfl已经解释过的那样,你正试图访问第1行...... 25但是G_all只有5行。
但除了这个问题,你不应该在for循环中计算平均值,而是使用函数" mean"代替。
a=[4 1 6];
mean(a)
ans = 3.6667
如果你想从矢量中删除均值,只需使用" detrend":
detrend(a, 0)
ans =
0.33333 -2.66667 2.33333