我想记下某个事件,所以我写了一小段代码:-
import numpy as np
import matplotlib.pyplot as plt
k = 25
q = 0.6
p = 1-q
N = 100
n = np.zeros(10001)
gens = 1000
#print len(n)
p_ruin = np.zeros(len(n), dtype=np.int64)
#print p_ruin
for i in range(gens):
cur = k
cnt = 0
while cnt<10000:
#print cnt
r = np.random.uniform()
if r<=q:
cur-=1
else:
cur+=1
cnt+=1
if cur==0 or cur==N:
break
p_ruin[cnt]+=1
#print p_ruin[cnt]
#print p_ruin
print p_ruin
for i in range(1,len(n)):
p_ruin[i]+=p_ruin[i-1]
for i in range(1,len(n)):
p_ruin[i] = float(p_ruin[i])/gens
plt.plot(n[1:len(n)-1],p_ruin[1:len(n)-1])
plt.show()
我希望p_ruin数组可以计数,但是它的所有值都是0。我已经调试了很长时间,现在看不到什么地方了。