相当于python中的rand('state',sum(100 * clock))

时间:2017-04-01 18:24:56

标签: python matlab

我对python不太熟悉。我已经搜索了很多,我想在下面准确地转移到python:

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

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

但我无法如何选择并使用它们来获得完全相同的效果。感谢

1 个答案:

答案 0 :(得分:0)

你在Python中不需要这样的东西。与默认情况下使用相同固定随机种子的MATLAB不同,Python每次都会自动设置一个新的随机种子,可以是系统提供的随机性,也可以是系统时钟,具体取决于平台。如果要每次使用相同的种子,则只需手动设置种子。这包含在documentation:

  

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

如果您想手动将种子重置为新的随机值(如果您之前将其设置为固定值,则只需执行此操作),您可以这样做:

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

或者是numpy:

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