2012-06-20 157 views

回答

0

元代码

mean(int[,] data, int j)  
    int sum = 0;  
    for i=0 to data.Length - 1 
     sum += data [i, j] 
    end  
    return sum/data.Length; 

C#代码

class Program 
{ 
    static void Main(string[] args) 
    { 
     var data = new[,] 
     { 
      { 1.1, 2.2 }, 
      { 3.3, 4.4 }, 
      { 5.5, 6.6 }, 
      { 7.7, 8.8 } 
     }; 

     double meanValue = Mean(data, 0); 
    } 

    public static double Mean(double[,] data, int columnIndex) 
    { 
     double sum = 0.0; 
     int rowsCount = data.GetLength(0); 

     for (int i = 0; i < rowsCount - 1; i++) 
     { 
      sum += data[i, columnIndex]; 
     } 

     return sum/rowsCount; 
    } 
} 
+0

注意,你可能想使'sum'双/小数,这取决于所期望的结果。 – Servy

+0

这很好,但我想开始这样的方法:public static double [] CalculateArithmeticMean(DenseMatrix矩阵){} – Mike

+0

@MichaelLoftus所以,然后让该方法,有一个'for'循环,你通过每列和调用这里定义的方法。将所有结果添加到数组并返回。 – Servy