【发布时间】:2014-11-03 21:57:30
【问题描述】:
我对 matlab 不是很有经验,并且正在努力处理 while 循环。我正在尝试使用 while 循环来求和零之间的向量部分,并创建这些和的新向量。这是一个例子:
n=[1,3,0,5,1,2,0,4,3]
我想要一个输出向量
m=[4,8,7]
我什至试图找到一个循环,它只会对初学者的第一部分求和,但我尝试过的所有 while 循环都只是无限运行。
例如
n = [1,3,0,5,1,2,0,4,3];
while n > 0
m=sum(A)
end
【问题讨论】:
-
按照您定义
n的方式,您的谓词n > 1永远不会计算为逻辑0(即 MATLAB 的错误),您确实会陷入无限循环。 -
是否有两个连续的零?另外,请记住,您不应该在 MATLAB 中使用
while循环来解决此类问题。您可以使用更好的方法。 -
有些情况下连续的零,如果确实会更好,我愿意学习如何在没有while循环的情况下做到这一点。
-
查看this 答案并将其应用于您的案例。
-
@user4212064 您应该通过单击左侧的复选标记来接受最适合您的答案。
标签: matlab vector while-loop