如果
A = [1 2 3; 4 5 6; 7 8 9]
B = [1 2 2]
我找到了
因为
鉴于A和B的上述例子,有更简单的方法来获得最终矩阵[1 2 3]和[4 5 6; 7 8 9]在一个步骤中,即不使用for循环。
目标是生成群集的质心,每个示例(A中的行)已在K-means聚类问题中分配。我正在考虑将生成的矩阵传递给mean()函数以生成质心。
答案 0 :(得分:1)
你可以得到一个单元格数组
A = [1 2 3; 4 5 6; 7 8 9];
B = [1 2 2];
arrayfun(@(lev) A(B==lev, :), unique(B), 'UniformOutput', false)
返回
ans =
{
[1,1] =
1 2 3
[1,2] =
4 5 6
7 8 9
}