Octave中的出界意味着什么?

时间:2016-06-01 07:36:52

标签: android octave

%程序来计算w和r

clear

num = input("Enter your value for n: ");
n=1:num;
w(1)=8000;
for i=2:num
  w=[w(0.98*w(i-1)-250*(i-1)/((i-1)+1))];
end
r(1)=1.50*w(1); 
for i=2:num
   r=[r(1.50*w(i))];
end
format bank;
disp("N      Weight       Revenue");
disp([n', w', r']);

我得到的输出是:

A(I): Index out of bound; value 7715 out of bound 1

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

错误消息还会显示您尚未发布错误的行号。就是这条线

w=[w(0.98*w(i-1)-250*(i-1)/((i-1)+1))];

在这里,您尝试访问元素7715(= 0.98 * 8000-250 / 2)但是只有1x1的大小。这总是在越界读取时发生,例如:

octave:> a = [5 2 3]
a =
   5   2   3
octave:> a(4)
error: A(I): index out of bounds; value 4 out of bound 3