首先,我很难描述这个问题得非常好,但我会尽力。
假设我们有矩阵 A:
A = [23 1;
45 1
78 1
86 1
98 2
1 2
23 2
14 3
15 4
85 4]
我想要的输出是
B{1} = [23,45,78,86]
B{2} = [98,1,23]
B{3} = [14]
B{4} = [15,85]
请记住,原始的A矩阵非常庞大,我不想使用for循环来处理。我希望使用可以使用并行处理的函数。
accumarray
:B = accumarray(A(:,2),(1:size(A,1))',[],@(x){A(x,:)},{});
。窍门是向累加器传递索引向量。 - Jonas