Как построить матрицу, основанную на элементах двух других матриц? - PullRequest
1 голос
/ 27 января 2012

Учитывая матрицу A и B одинакового размера, я хотел бы построить матрицу C того же размера, чтобы она удовлетворяла приведенному ниже ограничению.

  1. если a_ij = 0, то c_ij = min (0, b_ij)
  2. , если a_ij = 1, тогда c_ij = max (0, b_ij)
  3. if (a_ij <> 0 и a_ij <> 1) затем c_ij = b_ij.

, где a_ij - это i-тый и j-тый элемент A матрица.Записи в матрице A находятся в диапазоне от 0 до 1.

Насколько оптимально мы можем реализовать это в matlab.Тот, который я реализовал, имеет много переменных и сбивает с толку.

1 Ответ

7 голосов
/ 27 января 2012
C = B;
C(A == 0) = min(C(A == 0), 0);
C(A == 1) = max(C(A == 1), 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...