matlab 中有没有寻找两个矩阵中共同元素的命令?

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:22:31
想找到两个矩阵中的共同元素

对应位置相同用A(A==B)
位置不考虑用intersect(A(:),B(:))

>> A=randn(3,4)
A =
-0.5883 0.1139 -0.0956 -1.3362
2.1832 1.0668 -0.8323 0.7143
-0.1364 0.0593 0.2944 1.6236
以逻辑数组表达满足条件的元素:
>>L=(A>0)
L =
0 1 0 0
1 1 0 1
0 1 1 1
%寻找符合条件元素位置(返回为一列,并以单下标形式表示位置,故转置为一行)
>>s=(find(L))'或者
>> s=(find(A>0))'
s =
2 4 5 6 9 11 12
可以对满足条件的元素集体赋值
>> A(s)=0
A =
-0.5883 0 -0.0956 -1.3362
0 0 -0.8323 0
-0.1364 0 0 0
如果要以双下标形式返回符合条件的元素位置:
>> [ii,jj]=find(A==0);
>> disp(ii'),disp(jj')
2 1 2 3 3 2 3
1 2 2 2 3 4 4
最后,与arrayfun综合运用的一个例子,问题见于simwe forum,想了下可以采用下面的两种方式来完成:

请问