rand 返回介于 0.0 到 1.0 之间的实数值。
drand 返回介于 0.0 到 1.0 之间的双精度值。
irand 返回介于 0 到 2147483647 之间的正整数。
这些函数使用 random(3) 生成随机数序列。这三个函数共用同一个 256 字节的状态数组。这些函数的唯一优点是它们可以广泛用于 UNIX 系统上。要获得更好的随机数生成器,请比较 lcrans、addrans 和 shufrans。另请参见 random(3) 和《数值计算指南》。
i = irand( k ) r = rand( k ) d = drand( k ) |
|||
k |
INTEGER*4 |
输入 |
k=0:获取同一序列的下一个随机数 k=1:重新开始序列,返回第一个数 k>0:用作新序列的种子,返回第一个 数 |
rand |
REAL*4 |
输出 | |
drand |
REAL*8 |
输出 | |
irand |
INTEGER*4 |
输出 |
示例:irand():
demo% cat trand.f integer*4 v(5), iflag/0/ do i = 1, 5 v(i) = irand( iflag ) end do write(*,*) v end demo% f95 trand.f demo% a.out 2078917053 143302914 1027100827 1953210302 755253631 demo% |