Как получить матрицу, которая имеет общие элементы двух матриц? - PullRequest
0 голосов
/ 17 мая 2018

Предположим, у меня есть две матрицы, A и B.

A = [2 8 4; 7 3 9];
B = [2 1 6; 1 3 9];

Я хотел бы получить матрицу C, которая выглядит следующим образом:

C = [2 0 0; 0 3 9];

C - это матрица, котораясохраняет общие элементы A и B, но изменяет остальные элементы на ноль.Я мог бы использовать цикл for и перебирать каждый элемент в A и B, но есть ли более эффективный метод для получения результатов?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Другая возможность заключается в использовании

C = A.*(B==A);
0 голосов
/ 17 мая 2018

Предполагая, что обе матрицы имеют одинаковые размеры.

A = [2 8 4; 7 3 9];
B = [2 1 6; 1 3 9];
C = zeros(size(A));

C(A == B) = A(A == B);

C =

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