在matlab中更改数组中元素值的问题

时间:2014-09-18 01:26:54

标签: arrays matlab

我只是尝试创建一个程序,将n-1n-2数字相加以创建n并将值存储在数组中。目前,输出(假设为numDisp > 2)将为num1num2000 ...数组是正确的,我只是在重新分配元素时遇到了问题。

num1 = input('Input your first integer of the fibonacci sequence: ');
num2 = input('Input your second integer of the fibonacci sequence: ');
numsDisp = input('How many integers would you like to display? --> ');

list = zeros(numsDisp,1);
list(1) = num1;
list(2) = num2;    

if (numsDisp <=0)
   disp('Value must be an integer greater than zero.')
elseif (numsDisp == 1)
   disp(num1)
elseif (numsDisp == 2)
   disp(num1)
   disp(num2)
else
   disp(num1)
   disp(num2)
   for index = 3:numsDisp
       disp(list(index))
       list(index) = list((index-1)) + list((index-2));
   end

end

示例输入:3 3 4

相应的输出:3 3 0 0

1 个答案:

答案 0 :(得分:0)

您不打印最终结果,只打印中间步骤。在for循环中,您正在打印list(index)然后更新其值,而不是更新其值然后再打印它。

在最终disp(list)之后添加end以打印出结果。