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

本文关键字:标准差 数组 Math Net 计算 | 更新日期: 2023-09-27 18:17:34

我正在使用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);
    }
}

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

您可以使用扩展方法。如果有十进制值,必须先将其强制转换为double。不要忘记在顶部添加using System.Linqusing 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;

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