Python:如何在第一次调用后停止我的函数值更改(时间序列)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:如何在第一次调用后停止我的函数值更改(时间序列)相关的知识,希望对你有一定的参考价值。

我有:

np.random.seed(123)
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_

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

s_t(rho, T)       "or"         v_t(var_v, T)

显示正确的值。但是直接之后,当我调用另一个值时,值是错误的。 (可能是由于一些时间序列的影响。)在我清除命名空间后,当我在镜像序列中调用函数时,同样适用。如何在不重置命名空间的情况下为每次调用显示正确的值?

很高兴收到你的来信!干杯,托比亚斯

答案

我认为问题与np.random.randn(len(v_t_) - 1,1)有关...

以上是关于Python:如何在第一次调用后停止我的函数值更改(时间序列)的主要内容,如果未能解决你的问题,请参考以下文章

Python for 循环在第一次迭代后停止

数据更改后停止执行函数(React,useEffect)

使用 python 装饰器调用递归函数的次数

如何在正常函数调用之前显示某些内容而不是在之后停止显示?

为啥在我导入模块时 Python 会运行我的模块,如何停止它?

如何在python的while循环中停止函数