gpt4 book ai didi

C#。如何将高斯钟形曲线应用到我的峰值?

转载 作者:行者123 更新时间:2023-12-04 08:49:43 25 4
gpt4 key购买 nike

我在理解如何将高斯曲线拟合到我的峰值时遇到了过多的麻烦。有一些类似的问题,但即使看了这些我仍然不确定。统计/概率理论等从来都不是我的强项,但我认为让我困惑的是高斯钟形曲线是简单地使用均值和标准差来计算的。与其他曲线拟合方法不同,不使用峰中的实际原始值。
我已经实现了高斯函数;

public static float getGaussian(float x,  float mean, float stdDev)
{
float v1 = 1F / (stdDev * (float)Math.Sqrt(2 * Math.PI));
float v2 = ((x - mean) * (x - mean)) / (2 * (stdDev * stdDev));
return (v1 * (float)Math.Exp(-v2));
}
我认为这是正确的,但我的“曲线”最终看起来像一个平坦的平原,所以我显然做错了什么。
这是一个样本峰值 enter image description here
原始数据即 (x,y) 点是
(9,0)
(10,1)
(11,2)
(12,3)
(13,4)
(14,10)
(15,12)
(16,13)
(17,23)
(18,26)
(19,23)
(20,20)
(21,17)
(22,12)
(23,5)
(24,3)
(25,3)
(26,4)
(27,2)
(28,2)
(29,1)
任何人都可以解释如何根据这些数据计算高斯曲线以及曲线是什么样的?

最佳答案

看来你只有整数。假设这是来自正态分布数据的直方图,您将拥有:

xs = sum_i x_i * y_i
ns = sum_i y_i
mean = xs / ns

ss = sum_i y_i * ( x_i - mean) * ( x_i - mean)
sigma = sqrt( ss / ( ns - 1 ) )
最后,如果 g( x, x0, s )是归一化高斯分布,均值 x0和标准偏差 s然后
ns * g( x, mean, sigma )
应该近似您的数据。

关于C#。如何将高斯钟形曲线应用到我的峰值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64156209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com