首页 > 解决方案 > 如何初始化函数的绘图以从 0 开始?

问题描述

这可能是一个非常愚蠢的问题,但由于某种原因,我似乎无法弄清楚如何去做。我在这里为随机游走创建了一个函数,它只使用 numpy 二项式函数进行一次试验(即,如果它低于 0.5,则为 -1,超过 +1。但这显然使函数的第一个值是 -1 或+1,而我希望它为零。我该如何更改?

import numpy as np
import matplotlib.pyplot as plt

def random_walk(N,d):
    walk = d*np.cumsum(2*np.random.binomial(1,.5,N-1)-1)
    return walk

plt.plot(np.arange(1,250),random_walk(250,1))
plt.show()

再说一次,这可能真的很简单,我真的很愚蠢,但我真的很感激你的帮助!

标签: pythonnumpymatplotlibrandom-walk

解决方案


对您的代码稍作调整。希望这是您正在寻找的。

import numpy as np
import matplotlib.pyplot as plt

def random_walk(N,d):
    walk = np.concatenate(([0],np.cumsum(2*np.random.binomial(1,.5,N-1)-1)))
    return walk

plt.plot(np.arange(0,250),random_walk(250,1))
plt.show()

推荐阅读