24小时热门版块排行榜    

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

贺仪

铁杆木虫 (著名写手)

[求助] fortran 随机数 每次运行都是一样的!

如题 fortran 随机数 每次运行都是一样的!
call random_seed ()
call random_number (rd);
由于计算的时间很短,运行起来每次还是一样的!
大家怎么忙解决?
回复此楼
嘟啦啦嘟啦啦嘟
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

贺仪(金币+10): 多谢你的热心帮助 2011-09-05 19:42:40
引用回帖:
7楼: Originally posted by 贺仪 at 2011-09-05 09:24:07:
也试过了,最前面也放过作用不大,后来只有让程序等一段时间再运行 有点时间差也就好了。不过好像与变量声明也有关系
real::rd

real rd
有什么区别呢?
后者是不可以,利用时间产生随机数的 加了call  ...

real :: rd 和 real rd 在语法上是没有什么区别的,但属于两个不同的标准,后者是 Fortran 77 的变量声明方式,前者是 90 及以后的声明方式。建议不要混用,在某些情况下可能会出现一些问题……
8楼2011-09-05 11:01:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

贺仪(金币+5): 多谢你的热心帮助 2011-09-05 19:42:11
每次都一样是什么意思?同一个程序,每次运行结果当然应该是一样的啊……
2楼2011-09-04 14:56:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-04 14:56:30:
每次都一样是什么意思?同一个程序,每次运行结果当然应该是一样的啊……

但我是个随机过程 就不应该一样的 。我用matlab得到的是不同的,但是用fortran得到的就是相同的。在取种子的时候seed取时间能不能精确到毫秒呢?要能到就可以了
嘟啦啦嘟啦啦嘟
3楼2011-09-04 15:07:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


xzhdty(金币+1): 欢迎常来程序语言看看 2011-09-05 06:52:00
引用回帖:
3楼: Originally posted by 贺仪 at 2011-09-04 15:07:58:
但我是个随机过程 就不应该一样的 。我用matlab得到的是不同的,但是用fortran得到的就是相同的。在取种子的时候seed取时间能不能精确到毫秒呢?要能到就可以了

你的意思是,你在程序中取了很多随机数,然后,随机数是一样的吗?

另外,种子与时间有啥关系?你以时间作种吗?

给段代码看看吧……
4楼2011-09-04 15:29:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见