Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:我如何修复我的绘图;“随机”;s.t.函数调用的值是否一致?_Python_Function_Numpy_Random - Fatal编程技术网

Python:我如何修复我的绘图;“随机”;s.t.函数调用的值是否一致?

Python:我如何修复我的绘图;“随机”;s.t.函数调用的值是否一致?,python,function,numpy,random,Python,Function,Numpy,Random,我有: 但是每次我调用其中一个值,即 s_t(rho,t)“或”v_t(var_v,t) 将显示正确的值。但是,当我直接调用另一个值时,该值是错误的。在清除名称空间后,当调用镜像序列中的函数时,情况也是如此 我怀疑这是因为新值是由np.random.randn绘制的。 如何轻松地修复绘制的值s.t。我通过调用s\u t和v\u t获得正确的值?如果要确保一致性,您需要在每次绘制随机数时设置种子。以下小示例将说明: np.random.seed(123) var_v = 0.007 ** 2 T

我有:

但是每次我调用其中一个值,即

s_t(rho,t)
“或”
v_t(var_v,t)

将显示正确的值。但是,当我直接调用另一个值时,该值是错误的。在清除名称空间后,当调用镜像序列中的函数时,情况也是如此

我怀疑这是因为新值是由
np.random.randn
绘制的。
如何轻松地修复绘制的值s.t。我通过调用
s\u t
v\u t
获得正确的值?

如果要确保一致性,您需要在每次绘制随机数时设置种子。以下小示例将说明:

np.random.seed(123)
var_v = 0.007 ** 2
T = 100
rho   = 0.9

def v_t(var_v, T):
    v_t_ = np.zeros([T,1])
    v_t_[1:T] = (var_v ** 0.5) * np.random.randn(len(v_t_) - 1, 1)
    return v_t_

def s_t(rho, T):
    v_t_ = v_t(var_v, T)
    s_t_ = np.zeros([T,1])
    s_t_[0] = 0
    for t in range(1,T):
        s_t_[t] = rho *s_t_[t-1] + v_t_[t]
    return s_t_
产出不同:

np.random.seed(123)
np.random.randn(4, 1)
np.random.randn(4, 1)
然后尝试:

array([[-1.0856306 ],
       [ 0.99734545],
       [ 0.2829785 ],
       [-1.50629471]])

array([[-0.57860025],
       [ 1.65143654],
       [-2.42667924],
       [-0.42891263]])
输出相同:

np.random.seed(123)
np.random.randn(4, 1)
np.random.seed(123)
np.random.randn(4, 1)
因此,在您的例子中,您可以在每次调用
np.random.randn
之前在函数内部设置种子

array([[-1.0856306 ],
       [ 0.99734545],
       [ 0.2829785 ],
       [-1.50629471]])

array([[-1.0856306 ],
       [ 0.99734545],
       [ 0.2829785 ],
       [-1.50629471]])