MATLAB While循环语法

时间:2016-05-16 02:23:26

标签: matlab while-loop

我正在使用代码

 k = 0;
 while k<3
 k = k+1;
 a = 5^k;
 disp(a);
 end

但是,当结果输出时,它只给出了一次迭代的答案。我想知道当您使用此代码时计算机的不同之处是:

 clear, clc
 k = 0;
 while k<3
 k = k+1;
 a(k) = 5^k;
 end
 disp(a)

为什么第一个代码示例仅输出125,而第二个输出5,25和125?

1 个答案:

答案 0 :(得分:1)

在第一个代码中,变量a是标量。 因此,Matlab在每次迭代中擦除并重写值到变量a

但是,在第二个代码的情况下,当您在变量k定义数组索引a时,Matlab将您的变量a(k)理解为数组变量。并且,在每次迭代中,Matlab都会在相应的数组点上写入赋值5^k