【发布时间】:2021-01-17 05:24:34
【问题描述】:
我在理解如何将高斯曲线拟合到我的峰值时遇到了极大的麻烦。有一些类似的问题,但即使看了这些我仍然不确定。统计/概率论等从来都不是我的强项,但我认为让我感到困惑的是高斯钟形曲线是简单地使用平均值和标准差计算的。与其他曲线拟合方法不同,不使用峰中的实际原始值。
我已经实现了高斯函数;
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));
}
我认为这是正确的,但我的“曲线”最终看起来像一个平坦的平原,所以我显然做错了什么。
原始数据,即 (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)
谁能解释一下应该如何从这些数据中计算出高斯曲线以及曲线会是什么样子?
【问题讨论】:
标签: c# curve-fitting gaussian