public static double integTrapeziumsMethodResult(Equation e, double x1, double x2, double n) { // S = 1/2(a + b) / h - формула площади трапеции double x; // основание трапеции (b) double s; // площади трапеций double result = 0; // сумма площадей трапеций double h = (x2 - x1) / n; // высота трапеций (h) for (double i = 1; i < n; i++) // находим основания трапеции (a, b) и сумму площадей трапеций. Задаем цикл, равный количеству трапеций { x = x1 + (i * h); // находим начало трапеции s = e.Value(x) * h; // находим значения функции в точках начала и конца трапеций. Получаем значения оснований трапеции (a и b). Считаем площадь result += s; // складываем все результаты } result += (e.Value(x1) + e.Value(x2)) / 2 * h; return(result); // выводим итоговое значение }
public static double integRectanglesMethodResult(Equation e, double x1, double x2, double n) { // S = a * b - формула площади прямоугольника double x; // начало прямоугольника double s; // площади прямоугольников double result = 0; // сумма площадей прямоугольников double h = (x2 - x1) / n; // длина прямоугольников (a) for (double i = 1; i <= n; i++) // находим сторону (b) и сумму площадей прямоугольников. Задаем цикл, равный количеству прямоугольников { x = x1 + (i * h); // точка x, разделяющая прямоугольники. При помощи этой точки находится нужное значение функции s = e.Value(x) * h; // находим значение функции. Это будет сторона b. Считаем площадь result += s; // складываем все результаты } return(result); // выводим итоговое значение }