MATLAB While循环语法
问题描述:
我正在使用的代码MATLAB While循环语法
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?
答
在第一个代码中,变量a
是标量。 因此,Matlab会在每次迭代中擦除并重新写入变量a
。
但是,在第二个代码的情况下,如您在变量a
处定义数组索引k
,Matlab会将您的变量a(k)
理解为数组变量。并且,在每次迭代中,Matlab都将相应数组点上的指定值5^k
写入。
+0
谢谢,这是一个很好的解释和解释! –
+0
不客气! – KKS
你确定第一个代码结果是125吗? – Spiderman
我得到'[5; 25; 125]'和[5,25,125]'这两个代码。为什么你在做'while'而不是'for'? – user1543042
您可能想阅读[入门文档](http://www.mathworks.com/academia/student_version/learnmatlab.pdf) – patrik