Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

ran(3F)

Name

ran - 返回一个介于 0 和 1 之间的随机数

Synopsis

real function ran (i)
integer*4 i

Description

重复调用 ran 可生成均匀分布的随机数。

Notes

请参见 lcrans(3M)。

该范围包括 0.0,不包括 1.0。该算法是一种常规同余类型的乘法随机数生成器。一般而言,在执行调用程序的过程中设置一次 i 值。i 的初始值应是一个大奇数整数。每次调用 ran 将返回该序列中的下一个随机数。

要在每次运行调用程序时返回不同的随机数序列,必须在每次运行时将参数 i 设置为不同的初始值。

用法:

 
real  r, ran
integer*4 i
i = ...
     ...
r = ran(i)

示例:

demo% cat ran1.f
* ran1.f         <-- Generate random numbers
    integer*4 i, n
    real r(10)
    i = 760013
    do n = 1, 10
         r(n) = ran ( i )
    end do
    write ( *, "( 5 f11.6 )" ) r
    end
demo% f77 -silent ran1.f
demo% a.out
   0.222058 0.299851 0.390777 0.607055 0.653188
   0.060174 0.149466 0.444353 0.002982 0.976519
demo%

Files

libfui.a

See also

《数值计算指南》中的 lcrans、addransshufrans