//3D matrix conversion(гистограммы) private static HistogramSteps ConvertToHistogramSteps(double[, ,] matrix, int dencity) { var xVal = new double[dencity]; var yVal = new double[dencity]; var interval = new string[dencity]; var Lower_bound = (matrix.Cast <double>().Max() / dencity); double Current_bound = 0; var query = matrix.Cast <double>().Select(p => p).Where(p => p > 0).ToArray(); for (var i = 0; i < dencity; i++) { xVal[i] = i + 1; yVal[i] = matrix.Cast <double>().Select(p => p).Count(p => p > Current_bound && p <= Current_bound + Lower_bound); interval[i] = $"{Current_bound:0.000} - {Current_bound + Lower_bound:0.000}"; Current_bound += Lower_bound; } return(new HistogramSteps(xVal, yVal, interval)); }
public double WeightSum() { return(_data.Cast <double>().Sum()); }