大概只有 PHP 的語法能夠做到如此生動形象

Kamicloud發表於2019-08-22

專案需要用到正態分佈,所以找了個php的math包,簡單看了下原始碼,發現了些亮點

下面是一個求正態分佈概率密度的方法,變數宣告中就體現了計算方法


    /**
     * Probability density function
     *
     *              1
     * f(x|μ,σ) = ----- ℯ^−⟮x − μ⟯²∕2σ²
     *            σ√⟮2π⟯
     *
     * @param float $x random variable
     *
     * @return float f(x|μ,σ)
     */
    public function pdf(float $x): float
    {
        Support::checkLimits(self::SUPPORT_LIMITS, ['x' => $x]);

        $μ     = $this->μ;
        $σ     = $this->σ;
        $π     = \M_PI;
        $σ√⟮2π⟯ = $σ * sqrt(2 * $π);

        $⟮x − μ⟯²∕2σ² = pow(($x - $μ), 2) / (2 * $σ**2);

        $ℯ^−⟮x − μ⟯²∕2σ² = exp(-$⟮x − μ⟯²∕2σ²);

        return ( 1 / $σ√⟮2π⟯ ) * $ℯ^−⟮x − μ⟯²∕2σ²;
    }

這是比較冷門的知識點

一般程式語言只支援在程式碼中使用ascii字元,但是php的變數和函式是可以使用unicode的,所以下面的語法也是允許的

functiono 測試(){}

$測試 = '測試';

為碼農摸魚事業而奮鬥

相關文章