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

1 visualizzazione (ultimi 30 giorni)
N is a 1x3 array

Risposta accettata

Walter Roberson
Walter Roberson il 4 Dic 2011
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)

Più risposte (0)

Categorie

Scopri di più su Big Data Processing in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by