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

N is a 1×3 array

Best Answer

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)