LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1163|回复: 4

有谁知道普通的计算器上的rnd的算法是什么吗?

[复制链接]
发表于 2005-4-8 10:08:43 | 显示全部楼层 |阅读模式
我想做Monte Carlo方法,急需用fortran产生随机数,试了好多方法,也看了不少程序,好像都要什么种子之类的,我本来想用time()来获取随机数,但是后来觉得如果两次间隔过密的话time()返回的是一个值。看看普通的计算器,一个Rnd键就能搞定了,还有matlab也是一个rand()搞定,fortran怎么这么难?我也不想要什么种子,也想弄一个rand()函数,真不知道怎么弄。
发表于 2005-4-8 10:29:50 | 显示全部楼层
没办法,G77就这样。它要自定以外部过程(用C写)。你可以用别的什么Fortran编译器。最新的商业版F95的编译器还要以动态申请内存,而不要任何外部过程。

G77的说明。
8.11.9.208 Random_Number Intrinsic

This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use EXTERNAL Random_Number to use this name for an external procedure.

8.11.9.209 Random_Seed Intrinsic

This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use EXTERNAL Random_Seed to use this name for an external procedure.
回复 支持 反对

使用道具 举报

发表于 2005-4-8 10:30:09 | 显示全部楼层
没办法,G77就这样。它要自定以外部过程(用C写)。你可以用别的什么Fortran编译器。最新的商业版F95的编译器还可以以动态申请内存,而不要任何外部过程。

G77的说明。
8.11.9.208 Random_Number Intrinsic

This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use EXTERNAL Random_Number to use this name for an external procedure.

8.11.9.209 Random_Seed Intrinsic

This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use EXTERNAL Random_Seed to use this name for an external procedure.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-8 11:25:11 | 显示全部楼层
Post by masterdemon
没办法,G77就这样。它要自定以外部过程(用C写)。你可以用别的什么Fortran编译器。最新的商业版F95的编译器还要以动态申请内存,而不要任何外部过程。

G77的说明。


我这里有intel fortran compiler8.0和pgi fortran compiler5.2,能告诉我怎么弄吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-8 16:38:29 | 显示全部楼层
突然在fortran77里面找到rand和random_number这两个东西,都能搞出随机数来,但是和matlab一样,每次运行结束(matlab是关掉)以后重新开,得到的随机数都是一样的。真搞不懂计算器上的rand按钮怎么这么方便?它用什么做种子的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表