理解MATLAB中的while循环

时间:2017-02-23 16:45:14

标签: matlab loops

我在教授给我的问题上遇到了麻烦。我不需要答案我只需要一些东西。问题是:

  

使用while循环查找整数N1的总和大于N的最小数999

这是我到目前为止所做的,已经工作了几个小时而且找不到任何东西。

sum=0;
while sum>999
    sum=1+n
    disp('sum is', sum)
    disp('n=',n)
end

1 个答案:

答案 0 :(得分:1)

您需要在sum_val > 999时退出while循环。如果您查看退出条件并将其作为单词阅读,则可以看到您的问题:

  

while sum_val > 999是“循环并执行循环语句,而sum的值大于大于999”。

由于你的总和从0开始,你永远不会进入你的循环,因为总和小于999.你想:

  

“循环并执行循环语句,而sum的值 小于999”

是:

while sum_val < 999

除此之外,您还没有定义计数器n。你这样做:

sum_val=1+n

当你计算总和时,你需要确保你实际上正在总结正确的事情。什么是sum,它是sum的先前值,添加了当前值n。那样做:

sum_val = sum_val + n

同样是什么n?就像在问题陈述中一样,n从1到N(最终目标)。因此,您需要确保更新(并设置)。

n = 1
...
n = n+1

最后,sum是一个函数名,所以你不能使用它。使用其他内容,例如上面显示的sum_val

您需要在代码中找出应该去的位置。