Golang 正态分布实现
发布时间:2020-12-16 18:05:46 所属栏目:大数据 来源:网络整理
导读:简介 from 百度百科 正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution),最早由A.棣莫弗在求二项分布的渐近公式中得到。C.F.高斯在研究测量误差时从另一个角度导出了它。P.S.拉普拉斯和高斯研究了它的性质。[1] 是
简介from 百度百科
公式
代码实现package main
import (
"fmt"
"math"
)
//测试数据源
var data_source = []float64{1, 2, 3, 4, 5, 6, 1, 7, 8, 9, 10, 2}
func main() {
//数学期望
var sum float64 = 0
for _,v := range data_source {
sum += v
}
μ := float64(sum) / float64(len(data_source))
//标准差
var variance float64
for _,v := range data_source {
variance += math.Pow((v - μ), 2)
}
σ := math.Sqrt(variance / float64(len(data_source)))
fmt.Println("σ:",σ)
fmt.Println("μ:",μ)
//正态分布公式
a := 1 / (math.Sqrt(2*math.Pi) * σ) * math.Pow(math.E,(-math.Pow((μ-μ), 2)/(2*math.Pow(σ, 2))))
fmt.Println(a)
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |