【发布时间】:2018-09-23 16:12:13
【问题描述】:
我宁愿截断我的分布,但目前考虑到时间损失,这是不可能的。
标准内核分布:
expectation=fitdist(BTS,'kernel');
结果:
tic;expectation.random(10000,1);toc;
Elapsed time is 0.000745 seconds.
截断代码:
Exp{i,j}=truncate(expectation,min(BTS)-1,max(BTS)+1);
结果:
tic;random(Exp{i,j},1,10000);toc
Elapsed time is 0.772295 seconds.
【问题讨论】:
-
你确定调用的是同一个
random函数吗? -
是的,与 tic 运行时的速度相同;random(expectation,10000,1);toc;
-
我可以在 MATLAB R2017b,Mac 版本上重现相同的问题。很想知道这个问题的答案。
-
我没有统计工具箱,但我猜
truncate是一个更复杂的分布对象,需要更长的时间来评估。似乎random为每个生成的数字评估对象。您应该考虑将此作为错误提交给 MathWorks。