计算多维数组的平均值向量
Calculate Vector of Averages for Multi-dimensional Array
有没有一种方法可以计算多个数组中每个值的平均值?
我有
double[][] a = new double[numDas][];
我只需要返回一个一维数组,其中包含第二维的每个索引的平均值。所以基本上如果我有这个
t[0] = new double[] { 1, 2 };
t[1] = new double[] { 3, 5 };
那么输出将是 { 2, 3.5 }
谢谢!
请注意 double[][]
是 jagged array. You may want to use a 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
有没有一种方法可以计算多个数组中每个值的平均值? 我有
double[][] a = new double[numDas][];
我只需要返回一个一维数组,其中包含第二维的每个索引的平均值。所以基本上如果我有这个
t[0] = new double[] { 1, 2 };
t[1] = new double[] { 3, 5 };
那么输出将是 { 2, 3.5 }
谢谢!
请注意 double[][]
是 jagged array. You may want to use a 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