在MatLab中,我必须调用t分布的CDF(tcdf
)迭代(因为下一个输入值取决于tcdf
的先前输出),不幸的是,这大大降低了我的代码的速度。] >
tic z = NaN(1e5,1); z(1) = 1; x = 2; for ii = 2:1e5 x = tcdf(z(ii-1),x); z(ii) = z(ii-1)*x; end toc Elapsed time is 4.717087 seconds.
是否有办法以某种方式加快速度?
作为比较:
tic
z = randn(1e5,1);
tcdf(z,5);
toc
Elapsed time is 0.091353 seconds.
在MatLab中,我必须迭代调用t分布的cdf(tcdf)(因为下一个输入值取决于tcdf的先前输出),不幸的是,这大大降低了我的代码的速度。 tic z = ...
如下所示将随机数生成移动到循环外部