【问题标题】:MATLAB While loop syntaxMATLAB While 循环语法
【发布时间】:2016-05-16 10:54:31
【问题描述】:

我正在使用代码

 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?

【问题讨论】:

  • 你确定第一个代码结果是 125 吗?
  • 我得到[5;25; 125][5,25,125]这两个代码。你为什么用while而不是for
  • 您可能想阅读getting started document
  • 我使用的是工程计算教科书中的示例代码。他们用这个例子来演示 while 循环。
  • 谢谢。我去看看那个文件!????

标签: matlab while-loop


【解决方案1】:

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

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

【讨论】:

  • 谢谢,这是一个很好的解释和解释!
猜你喜欢
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
相关资源
最近更新 更多