2011-09-16 49 views
0

我有2个矩阵与same IDsmat1每个ID具有多行,而mat2具有每个ID的ONLY 1行。矩阵是预先分类的。Repmat按照另一个矩阵的矩阵行 - MATLAB

% 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

试试这个:

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

希望这有助于...

+0

的感谢!直截了当的...为什么我甚至想到准马拉雷! – Maddy