GR8672 2021-11-02 23:14 采纳率: 42.9%
浏览 19

请问这个问题怎么解决

img

  • 写回答

1条回答 默认 最新

  • 天元浪子 优质创作者: python技术领域 2021-11-03 09:07
    关注

    关于高尔顿钉板,网上有很多,我就不班门弄斧了。简单说,1层钉板有2个输出,2层钉板有3个输出,要设计m个容器排成一列的高尔顿钉板,就得有m-1层钉板。只要理解了高尔顿钉板的原理,写代码很容易。下面的代码,设计了一个高尔顿钉板,可以返回m个容器n次实验的结果。

    >>> import random
    >>> def galton(m, n):
        result = [0 for i in range(m)]
        for i in range(n):
            pos = 0
            for j in range(1, m):
                if random.random() > 0.5:
                    pos += 1
            result[pos] += 1
        return result
    
    >>> galton(9, 100)
    [1, 4, 7, 21, 29, 22, 10, 4, 2]
    

    配合matplotlob,可以绘制出近似的正态分布曲线。

    >>> import matplotlib.pyplot as plt
    >>> plt.plot(galton(9, 100))
    [<matplotlib.lines.Line2D object at 0x0000020937DF3CC8>]
    >>> plt.show()
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 11月2日