【问题标题】:Calculate number of standard deviations from the mean计算与平均值的标准偏差数
【发布时间】:2025-07-22 14:20:02
【问题描述】:

这是我所拥有的:

  1. 标准偏差
  2. 平均
  3. 查看代码

    double[] series = { 150, 233, 80, 300, 200, 122, 125, 199, 255, 267, 102, 299 };
    double stdDev = CalculateStdDev(series);
    double mean = series.Average();
    

我需要帮助来创建一种方法来生成以下内容:

  1. 对于平均值的 -2、-1、-0.5、0、0.5、1、2 个标准差,计算每次跌倒的次数
  2. 第一个结果应该是坐标对,如下所示:(-2, n), (-1, n), (0, n), (1, n), (2, n)。李>

目的是产生正态曲线或钟形曲线。

例子:

double mean = 194;
double neg2StdDevFromMean = mean - (2 * stdDev);
double negOneStdDevFromMean = mean - (1 * stdDev);
double negOneHalfStdDevFromMean = mean - (0.5 * stdDev);

谢谢!

【问题讨论】:

    标签: c# asp.net statistics


    【解决方案1】:

    这个问题不是很清楚,但也许你想要这样的东西:

    var query = from numStdDev in new[] { -2, -1, -0.5, 0, 0.5, 1, 2 }
                select new             
                {
                  NumStdDev = numStdDev,
                  Value = mean + numStdDev * stdDev
                };
    

    如果通过“坐标对”,你指的是System.Drawing.PointF,你可以这样做:

    var query = from numStdDev in new[] { -2, -1, -0.5, 0, 0.5, 1, 2 }
                select new PointF
                       ((float)numStdDev, (float)(mean + numStdDev * stdDev));
    

    如果您在计算标准偏差方面需要帮助,您可能需要查看:LINQ Equivalent for Standard Deviation

    【讨论】:

    • 很抱歉。我基本上需要绘制一条正态曲线。
    • @subt13:我的回答符合你的要求吗?
    • 一会儿我会试一试。谢谢。