我有以下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
来完成,但我无法确切地知道如何使用。
答案 0 :(得分:2)
我似乎想出了答案
out = accumarray(A, 1:max(A), [], @(x) {x})