分组数组元素

时间:2017-07-31 11:06:47

标签: matlab

我有以下MATLAB代码

out = cell(max(A), 1);
for i = 1:numel(out)
    out{i} = find(A == i);
end

其中A包含1:max(A)中的所有条目,具有不同的顺序和可能的重复。在代码片段末尾out{i}包含i中出现A的索引。问题是 - 是否有可能"矢量化"以上,而不是做一个循环?我相信可以使用accumarray来完成,但我无法确切地知道如何使用。

1 个答案:

答案 0 :(得分:2)

我似乎想出了答案

out = accumarray(A, 1:max(A), [], @(x) {x})