public static float[][] Summerize(float[][][] matrix, int[] intevals, int flag) { int len = matrix[0].Length; int steps = intevals.Length; int nfea = matrix[0][0].Length; int nvar = matrix.Length; float[][] stat = new float[nvar][]; for (int v = 0; v < nvar; v++) { stat[v] = new float[steps]; } float[] temp = new float[nfea]; int cur = 0; for (int v = 0; v < nvar; v++) { for (int s = 0; s < steps; s++) { int inteval = intevals[s]; for (int t = 0; t < inteval; t++) { for (int i = 0; i < nfea; i++) { temp[i] += matrix[v][cur][i]; } cur++; } if (flag == 1) { stat[v][s] = temp.Average() / inteval; } else if (flag == 2) { stat[v][s] = temp.Sum() / inteval; } MatrixExtension <float> .Set(temp, 0); } } return(stat); }