使用 Math.Net 计算数组的均值和标准偏差

vis*_*990 2 c# mathnet-numerics

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

using MathNet.Numerics.Statistics;



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

但我没有得到计算均值的方法。我必须执行许多数学运算但没有起点。如果有人能指出我正确的方向,我将不胜感激。我试过但找不到任何样本,以便我可以使用其余数学运算的信息。我必须使用 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Niy*_*wan 6

您可以使用扩展方法。如果您有十进制值,则必须先将其强制转换为 double。不要忘记在顶部添加using System.Linq和using MathNet.Numerics.Statistics。

您可以在此处阅读MeanStandardDeviation方法文档。

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;
Run Code Online (Sandbox Code Playgroud)

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