Создание логических массивов в Matlab - PullRequest
0 голосов
/ 04 марта 2011

Я изучал matlab на прошлой неделе, так как моя работа требует этого, но я немного застрял.Я хочу создать функцию, которая удаляет все точки данных в lowerBound и upperBound.Что не так с этим кодом?

mask = ~((data.HB_X > lowerBound) && (data.HB_X < upperBound));
data.HB_X = data.HB_X(mask);
data.HB_Y = data.HB_Y(mask);

Ошибка:

??? Operands to the || and && operators must be convertible to logical scalar values.

Error in ==> myGUI>deleteHBs at 228
        mask = ~((data.HB_X > lowerBound) && (data.HB_X < upperBound));

1 Ответ

3 голосов
/ 04 марта 2011

Проблема именно в том, что говорится в сообщении об ошибке. Вы можете использовать только горячие операторы && и || для скалярных сравнений. Если вы сравниваете массивы, вам нужно использовать & и | соответственно.

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