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

1 vue (au cours des 30 derniers jours)
jy tan
jy tan le 4 Déc 2011
N is a 1x3 array

Réponse acceptée

Walter Roberson
Walter Roberson le 4 Déc 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)
  1 commentaire
Jan
Jan le 4 Déc 2011
which could be rewritten to "while any(N)".

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Big Data Processing dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by