我已经尝试过以下代码来查找匹配项,但我得到了矩阵维必须达成一致的错误。
mat = [ 8 5; 4 3; 3 5]
mat2 = [2 3; 2 3; 4 3; 4 3]
for i=1:size(mat,1)
idx= find(mat2(:,1) == mat(i,1)& mat2(:,2) == mat(i,2));
end
idx= find(mat2(:,1) == mat(:,1))
我需要使用两列数据(例如x& y坐标)找到在两个不相等矩阵之间匹配的行,以便将一列数据附加到较大矩阵中的正确行。我基本上需要找到较大矩阵中的行,其中值与较小矩阵中的值匹配,以便来自较小矩阵的数据列可以附加到正确的行。
答案 0 :(得分:3)
我想你想要:
>> [c,imat,imat2] = intersect( mat, mat2, 'rows')
c =
4 3
imat =
2
imat2 =
4
c是匹配的行。
imat是mat中匹配行的索引
imat2是mat2