Mathematica 9 is now available

3.2.3 伪随机数

伪随机数的生成

这里给出 3 个伪随机数列表

这是 0 与 1 之间的 30 位的伪随机实数

这里给出 100 和 200 之间内含的 8 个伪随机数的列表

如果反复调用 Random[],将得到一个 "典型" 的数列,它们没有特定的类型. 有许多使用这些数的方法. 使用伪随机数的一个常见方法是进行数值假设检验. 例如,如果用户 相信两个符号表达式在数学上是相等的. 可以通过给符号参数插上 "典型的" 数值的值. 然后比较数值结果来进行检验. ( 如果要这样做的话,在数值准确 度问题上,在可能没有唯一值的复变量的函数上,都应当仔细小心).

这是一个符号方程

用随机数值代入表明方程不总是为真

伪随机数的其它常见用法包括模拟随机过程,概率空间的采样. Mathematica 生成的伪随机数总是在指定范围上的均匀分布.
Random 与其它的 Mathematica 函数不同,每次调用它时,都将得到不同 的结果. 因此,如果在计算中使用 Random 在不同的时机会得到不同的答案.
Random[ ] 得到的序列在多数意义下并不是 "真正随机的",尽管 实际上它们应当是 "足够随机的". 事实上,这个序列是通过使用从一个特定 起点开始的确定数学算法生成的. 如果给出相同的起点,将得到相同的序列.
Mathematica 启动时,它取时钟时刻 ( 用一秒的一小部分度量 ) 作为伪随机 生成器的起点. 因此,两个不同的 Mathematica 进程几乎总是给出不同的 伪随机数序列.
如果用户想确定总是得到相同的伪随机数序列,可以使用 SeedRandom 明显 地给伪随机数生成一个起点.

重设伪随机数生成器的起点

这是三个伪随机数

如果重设伪随机数生成器的起点与上例相同. 则得到相同的伪随机数序列

每调用一次 Random,伪随机数生成器的内部状态就被改变,这意味着在辅助运算中调用 Random,将会影响主运算中 Random 返回的数.要避免这个问题,可以在辅助运算之前保存 $StateRandom 的值,以后在恢复它.

使用 Block$RandomState 的值限制在局部. 在生成第一个列表之后,伪随机数生成器的状态被恢复



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.