一千萬個為什麽

搜索

根據另一個矩陣重新排列矩陣行 - MATLAB


我有兩個與相同的ID 的矩陣。 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。謝謝。

最佳答案

嘗試這個:

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

希望這可以幫助...

轉載註明原文: 根據另一個矩陣重新排列矩陣行 - MATLAB

猜你喜歡