小编Jon*_*nas的帖子

使用accumarray MATLAB时改进代码/删除for循环

我有以下代码,从数据集("DATA")计算百分位数非常慢,因为输入矩阵很大("数据"大约500.000长,10080个唯一值从"指数"分配) .

是否有可能/建议使这段代码更有效率?例如,我可以以某种方式省略for循环吗?

k = 1;
for i = 0:0.5:100; % in 0.5 fractile-steps
     FRACTILE(:,k) = accumarray(Indices,Data,[], @(x) prctile(x,i));
     k = k+1;
end
Run Code Online (Sandbox Code Playgroud)

matlab vectorization percentile accumarray

3
推荐指数
1
解决办法
121
查看次数

标签 统计

accumarray ×1

matlab ×1

percentile ×1

vectorization ×1