May i know why i can't write: while(N~=[0 0 0]) in matlab?

1 次查看(过去 30 天)
N is a 1x3 array

采纳的回答

Walter Roberson
Walter Roberson 2011-12-4
while (N~=[0 0 0])
is valid syntax in MATLAB. The comparison would take place, giving a logical vector. When an "if" or "while" is asked to make a decision about a logical vector or array, it considers it to be true if and only if all of the elements of the vector or array are non-zero (true).
It is well-defined behavior, but if you think about it, the loop would stop as soon as one or more of the elements of N became 0.
You may instead wish to use
while any(N~=[0 0 0])
which could be rewritten
while any(N~=0)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Big Data Processing 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by