【问题标题】:Generate different bell curves in php with small data用小数据在php中生成不同的钟形曲线
【发布时间】:2012-02-09 07:34:17
【问题描述】:

我希望能够从非常少的数据中生成这些钟形曲线:

我正在寻找 php 中的一个函数,它可以为我提供这些钟形曲线生成的数据。我还不知道要用什么来显示它们,但我首先需要数据。

我的数学不太好,我尝试过创建一些正态分布,但没有一个简单的方法可以说:“我想要一条细钟形曲线”或“我想要一条大钟形曲线”。

也许使用上图右侧顶部的参数可能很酷。

有人知道我如何在 PHP 中重现这些图表的数据点吗?

谢谢!

【问题讨论】:

    标签: php function normal-distribution


    【解决方案1】:

    嗯,你可以查一下normal distribution's probability density on Wikipedia的公式。

    此函数的 PHP 实现如下所示:

    function normal($x, $mu, $sigma) {
        return exp(-0.5 * ($x - $mu) * ($x - $mu) / ($sigma*$sigma))
            / ($sigma * sqrt(2.0 * M_PI));
    }
    

    此功能将为您提供您发布的钟形曲线的值。 我真的建议您阅读有关该功能的维基百科文章,但简单地说,$mu 标记钟形曲线的中心峰值的位置,$sigma 确定它的宽度($sigma 的值越大意味着更宽分布)。

    【讨论】:

    • 我花了一些时间来理解它,但谢谢!效果很好!
    • 当我输入这个:$x = 0, $mu = 0, $sigma = 0.2(蓝色路边)时,它给了我 1.99。这与上图不同(取自维基百科)。有什么不对 ?维基百科的图片错了吗?还是功能?
    • 不,大约 1.99 是正确的。我的猜测是图像只是试图说明分布($sigma 的不同值的形状),没有提供准确的值。也看看这个页面:wolframalpha.com/input/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    相关资源
    最近更新 更多