根据另一个矩阵重新排列矩阵行-MATLAB
我有两个具有相同ID的矩阵根据另一个矩阵重新排列矩阵行-MATLAB,matlab,membership,Matlab,Membership,我有两个具有相同ID的矩阵mat1每个ID有多行,而mat2每个ID只有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 ] ; 需要根据mat1中对应的行数重复mat2 ID mat2 = [ 20 0.88
mat1
每个ID有多行,而mat2
每个ID只有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 ] ;
需要根据mat1中对应的行数重复mat2 ID
mat2 = [ 20 0.88 ; 20 0.88 ; 30 0.11 ; 40 0.99 ; 40 0.99 ; 40 0.99 ] ;
你能提出一个答案吗?就我个人而言,我想使用ackmaray
等来获取每个ID的行数,然后可能是repmat mat2。谢谢。试试这个:
[b,m,n] = unique(mat1(:,1));
mat3 = mat2(n,:)
希望这有助于……谢谢!直截了当的为什么我会想到accumarray!