%程序来计算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
我在这里做错了什么?
答案 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