MATLAB посмотреть, если что-то входит в матрицу - PullRequest
0 голосов
/ 21 октября 2010

У меня проблемы с манипулированием матрицей.Любая помощь приветствуется!Скажем, у меня есть матрица:

xb =

          1.00          2.00          3.00          6.00          5.00          9.00

и другая матрица:

cb =

       3000.00       4000.00       4000.00             0             0             0

Есть ли способ кодировать что-то, что проверяет, находится ли 1 в матрице xb,отобразить соответствующую ячейку в cb (тот же столбец, что и один)?

так, например, поскольку 6 в матрице xb выше, программа отобразит 0. Спасибо!

1 Ответ

2 голосов
/ 21 октября 2010

В одной строке:

cb(xb==1)

xb==1 создает логический массив того же размера, что и xb, который равен 1, где xb равен 1, и 0 в другом месте.Поскольку этот логический массив имеет такой же размер, как cb, вы можете использовать его для индексации.Индексирование массива с помощью логического массива возвращает все значения массива в местах, где логический массив равен 1 (представьте его как маску).

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