按照另一个矩阵重新匹配矩阵行 - MATLAB

时间:2011-09-16 17:05:22

标签: matlab membership

我有same IDs的2个矩阵。 mat1每个ID有多行,而mat2每个ID有ONLY 1行。矩阵是预先排序的。

% COL1 -> ID
mat1 = [ 20 2008 0.11 ; 20 2010 0.22  ; 30 2001 0.99 ; 40 2011 0.11 ; 40 2011 0.22 ; 40 2012 0.11 ] ; 
mat2 = [ 20 0.88 ; 30 0.11 ; 40 0.99 ] ;

mat2 ID需要按照mat1中相应的行数重复。

mat2 = [ 20 0.88 ; 20 0.88 ; 30 0.11 ; 40 0.99 ; 40 0.99 ; 40 0.99 ] ;

你能建议一个答案吗?就我自己而言,我想过使用accmarray等获取每个ID的行数,然后可能是repmat mat2。感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

[b,m,n] = unique(mat1(:,1));
mat3 = mat2(n,:)

希望这会有所帮助......