如何获得具有两个矩阵的公共元素的矩阵?

时间:2018-05-17 18:20:01

标签: matlab matrix

假设我有两个矩阵,A和B.

=MID(A1,FIND(" ",A1,FIND(" ",A1,FIND(" ",A1,1)+1)+1)+1,1)

我希望获得如下的矩阵C:

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

C是一个矩阵,它保留A和B的公共元素,但将其余元素更改为零。我可以使用for循环并迭代A和B中的每个元素,但是有更有效的方法来获得结果吗?

2 个答案:

答案 0 :(得分:2)

假设两个矩阵具有相同的尺寸。

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

答案 1 :(得分:1)

另一种可能性是使用

C = A.*(B==A);