2010-09-14 4 views
3

J'ai un tableau logique, isLand, c'est vrai si l'index est sur terre et false si l'index n'est pas au-dessus de la terre, comme l'océan. Comment puis-je facilement créer un autre tableau logique, isOcean, qui est l'inverse de isLand. Tous ceux qui sont dans isLand seront des zéros dans isOcean et vice versa. Je sais que je peux le faire en utilisant une boucle for, mais je pense qu'il y a une bien meilleure façon de le faire.Créer un tableau logique inverse dans Matlab

Répondre

10

Il suffit d'utiliser l'opérateur NOT logique:

isOcean = ~isLand; 

facile peasy squeezy de citron! ;)

+0

Bonne réponse, j'allais utiliser la fonction 'find' que c'est beaucoup mieux – Elpezmuerto

3

Comme gnovice vous dit, ~ (le non opérateur) est la bonne réponse bien sûr, mais vous pouvez également utiliser

isOcean = isLand == 0; 

Cela devrait fonctionner aussi:

isOcean = xor(1,isLand); 

Il y a toujours plusieurs façons de résoudre n'importe quel problème dans MATLAB.

Questions connexes