如果值vals', and a corresponding array of subscripts
用重复的下标替换成输出数组,则我有一个数组。我想为每个下标提取“ vals”中相应项的最小化器的索引。为此,我有以下代码:
function i = minimizer(idx)
[~, i] = min(vals(idx));
i = idx(i);
end
accum = accumarray(subs, (1:numel(vals))', [], @minimizer);
现在,假设“ subs”是一个gpuArray。由于gpuArrays的accumarray的限制,此代码无法正常工作-我无法指定自定义聚合函数。我可以对gpu阵列使用任何快速替代方法吗?
P.S。 -我想到的是将所有信息嵌入到复杂的数组中,以便real(vals)是值,而imag(vals)是索引。但是似乎还不清楚如何确保“ min”函数仅比较值,例如,我需要乘哪个因数来使索引相乘,以便它们在比较中可以忽略不计(我可以确保值是非负数,因此绝对值比较就可以了。