计算多维数组的平均值向量

时间:2017-03-07 20:20:36

标签: c# .net multidimensional-array average accord.net

是否有方法可以找到多个数组中每个值的平均值? 我有

double[][] a = new double[numDas][];

我需要的是获得一个包含第二维每个索引的平均值的一维数组。所以基本上如果我有这个

t[0] = new double[] { 1, 2 };
t[1] = new double[] { 3, 5 };

然后输出为{2,3.5}

谢谢!

1 个答案:

答案 0 :(得分:1)

请注意,double[][]jagged array。您可能想要使用multi-dimensional array double[,]。然后您可以使用Accord.NET,如下所示:

class Program
{
    static void Main(string[] args)
    {
        double[,] A = {
            {1, 2},
            {3, 5}
        };

        double[] B = Vector.Ones(2);

        Console.WriteLine("A = \n{0}", Matrix.ToString(A));
        Console.WriteLine("\nB = \n{0}", Matrix.ToString(B));
        Console.WriteLine("\nAt*B/2 = \n{0}", Matrix.ToString(A.Transpose().Dot(B).Divide(2)));

        Console.ReadLine();
    }
}

给出了:

A =
1 2
3 5

B =
1 1

At*B/2 =
2 3.5