总价值错误的分配图

要创建

总价值错误的分配图

我用下面的代码制作了一个分布图:

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。

liulinjian123 回答:总价值错误的分配图

几乎正确,但是要进行积分,必须将函数值g(x)乘以微小间隔dx12*sigma/200)。这就是您总结的领域:

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) * (12*sigma/200)
        FxSum += numb
        a.append(FxSum)
    return a

plt.plot(x,distr(len(x)))
plt.show()
本文链接:https://www.f2er.com/3143834.html

大家都在问