Создать обратный логический массив в Matlab - PullRequest
3 голосов
/ 14 сентября 2010

У меня есть логический массив isLand, который имеет значение true, если индекс находится над сушей, и false, если индекс не над землей, как океан.Как я могу легко создать другой логический массив, isOcean, который является обратным isLand.Все в isLand будут нулями в isOcean и наоборот.

Я знаю, что могу сделать это, используя цикл for, но я чувствую, что есть гораздо лучший способ.

Ответы [ 2 ]

10 голосов
/ 14 сентября 2010

Просто используйте логический НЕ оператор:

isOcean = ~isLand;

Легко-горошиный лимонный отжим!;)

3 голосов
/ 15 сентября 2010

Как говорит gnovice, ~ (оператор not), конечно, правильный ответ, но вы также можете использовать

isOcean = isLand == 0;

Это тоже должно работать:

isOcean = xor(1,isLand);

В MATLAB всегда есть несколько способов решить любую проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...