相当于 Python 中的 Rand('state',sum(100*clock))



我对python不是很熟悉。我已经搜索了很多,我想将以下行准确地转移到 python:

% MATLAB code
rand('state',sum(100*clock))

我知道我应该使用np.random.seed()np.random.RandomState()

但我无法选择和使用它们来拥有完全相同的等价物。谢谢

在 Python 中你不需要这样的东西。 与默认使用相同的固定随机种子的 MATLAB 不同,Python 每次都会自动设置一个新的随机种子,无论是通过系统提供的随机性还是系统时钟,具体取决于平台。 如果每次都使用相同的种子,则只需手动设置种子。 这在文档中进行了介绍:

random.seed(a=none, version=2( 如果省略 a 或 None,则使用当前系统时间。如果随机性源由操作系统提供,则使用它们而不是系统时间(有关可用性的详细信息,请参阅 os.urandom(( 函数(。

如果要手动将种子重置为新的随机值(仅当之前将其设置为固定值时才需要执行此操作(,只需执行以下操作:

>>> import random
>>>
>>> random.seed()

或者对于 numpy:

>>> import numpy as np
>>>
>>> np.random.seed()

最新更新