24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1289  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lcj09

新虫 (小有名气)

[求助] 随机数的生成已有1人参与

找到一个这样的随机数生成函数
CODE:
FUNCTION ran1(idum)
INTEGER idum,IA,IM,IQ,IR,NTAB,NDIV
REAL ran1,AM,EPS,RNMX
PARAMETER (IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,
* NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
INTEGER j,k,iv(NTAB),iy
SAVE iv,iy
DATA iv /NTAB*0/, iy /0/
if (idum.le.0.or.iy.eq.0) then
idum=max(-idum,1)
do j=NTAB+8,1,-1
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if (j.le.NTAB) iv(j)=idum
enddo
iy=iv(1)
endif
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if (idum.lt.0) idum=idum+IM
j=1+iy/NDIV
iy=iv(j)
iv(j)=idum
ran1=min(AM*iy,RNMX)
return
END

请问这个RNMX=1.-EPS中1.-EPS是什么意思呢?看不懂啊!
还有,这个代码大概是什么意思呢?是不是不管做什么研究,只要需要随机数,它都适用?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

除了玩玩,一般不要手写随机数生成器。速度慢,随机性没有保障

发自小木虫IOS客户端
4楼2016-02-04 00:59:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lcj09 的主题更新
信息提示
请填处理意见