from numpy import *
import numpy as np
import matplotlib.pyplot as plt
sigma = 4.1
x = np.linspace(-6*sigma,6*sigma,200)
def distr(n):
def g(x):
return (1/(sigma*sqrt(2*pi)))*exp(-0.5*(x/sigma)**2)
FxSum = 0
a = list()
for i in range(n):
# divide into 200 parts and sum one by one
numb = g(-6*sigma + (12*sigma*i)/n)
FxSum += numb
a.append(FxSum)
return a
plt.plot(x,distr(len(x)))
plt.show()
这当然是一种无需使用hist(),cdf()或Python库中其他任何选项即可获得结果的方法。
为什么总和不是1?例如,它不应该依赖于sigma。