使用Math.Net的阵列的平均和标准Deviaton

时间:2016-11-11 17:13:51

标签: c# mathnet

我使用的是MathNet .dll,必须计算十进制值数组的平均值和标准偏差。

using MathNet.Numerics.Statistics;



static void Main(string[] args)
        {
            decimal[] values = { 39.99m, 29.99m, 19.99m, 49.99m };
            MathNet.Numerics.Statistics.
        }

但是我没有得到一种计算平均值的方法。我必须执行许多数学运算但没有得到起点。如果有人能指出我正确的方向,我将不胜感激。我试过但找不到任何样本以便我可以将这些信息用于其余的数学运算。 我必须使用MathNet库。 感谢

整个代码

using System;
using MathNet.Numerics.Statistics;
using System.Linq;

public class Program
{
    public static void Main()
    {
        decimal[] values = new[] { 39.99m, 29.99m, 19.99m, 49.99m };
        Tuple<double, double> meanStd = values
            .Select(x => (double)x)
            .MeanStandardDeviation();

        double mean = meanStd.Item1;
        double std = meanStd.Item2;

        Console.WriteLine("Mean = " + mean);
        Console.WriteLine("Std = " + std);
    }
}

1 个答案:

答案 0 :(得分:4)

您可以使用扩展方法。如果您有小数值,则必须先将其转换为双倍。不要忘记在顶部添加using System.Linqusing MathNet.Numerics.Statistics

您可以阅读MeanStandardDeviation方法here的文档。

decimal[] values = new []{ 39.99m, 29.99m, 19.99m, 49.99m };
Tuple<double, double> meanStd = values
    .Select(x=>(double)x)
    .MeanStandardDeviation();

double mean = meanStd.Item1;
double std = meanStd.Item2;

小提琴:https://dotnetfiddle.net/LubPTH