public double Functional_J(Vector calc_u) { double h = MyMath.Basic.GetStep(GRID_SIZE, 0d, L); Vector calc_y = new Vector(GRID_SIZE); Vector err = new Vector(GRID_SIZE); for (int i = 0; i < GRID_SIZE; i++) { err[i] = (calc_u[i] - y(h * i)) * (calc_u[i] - y(h * i)); } return(Integrate.RiemannSum(err.ToArray, h)); }