24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1283  |  回复: 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的回帖
查看全部 9 个回答

lcj09

新虫 (小有名气)

怎么没人回复我呢?这块实现不了代码就没法进行了。而且,我只知道一般要产生随机数的时候,一般会调用random()函数吧!
2楼2016-01-29 23:26:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

洞天风雷

铁杆木虫 (正式写手)

锦瑟无端五十弦,一弦一柱思华年
3楼2016-02-02 21:10:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Yuan_f

新虫 (初入文坛)

【答案】应助回帖

eps是最小精度允许值,一般代表无限接近0的小值,1-eps意思是将(0,1)变为(0,1]

发自小木虫Android客户端
5楼2016-02-04 11:01:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见