2011-09-16 95 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