我编写了一个简短的monte carlo积分算法来计算Fortran 90中的积分.我曾经使用内部随机数生成器和使用Numerical Recipes中提供的随机数生成器方法ran1来比较通过求解积分得到的结果. Fortran90第2卷.
运行相同的算法两次,一旦调用内在的random_seed(),然后总是调用random_number(),并且一旦调用在Numerical Recipe书中提供的ran1()方法,我获得的结果是原理相同的形状,但内在的结果是连续的曲线与ran1结果形成对比.在这两种情况下,我使用随机参数调用函数10,000次作为参数值q,添加它然后继续下一个q值并调用函数10,000次等.
如果我增加调用次数,则曲线会收敛.但我想知道:为什么内在随机数发生器会产生这种平滑性?是否仍然建议使用它或是否有其他更多建议的RNG?我认为连续结果是内在数字生成器的"较少"随机性的结果.
(我省略了源代码,因为我不认为它有很多输入.如果有人关心我可以在以后交出它.)