Как написать метод считающий интеграл методом входящих прямоугольников? - C#
Формулировка задачи:
Здравствуйте.
Не могу написать код считающий интеграл методом входящих прямоугольников.
Общий код программы у меня вот такой:
А вот метод считающий интеграл входящими прямоугольниками вот такой у меня получился,но там прогрешность 100%))))
using System; namespace Курсовая_работа { class Интеграл1 { struct Integral { Double a, b; int m; public Integral(double ina, double inb, int inm)//конструктор типа Integral { a = ina < inb ? ina : inb; b = ina < inb ? inb : ina; ;// регулирует значения пределов интегрирования таким образом,что верхний предел интегрирования всегда больше нижнего m = inm; } public override string ToString()//определение метода ToString { string s; s = String.Format("Точное знаение= {0:f3}\nПриближенное значение={1:f3}", IntLeibniz, IntRectangle);// запись в строковую переменную точного и приближенного значений интеграла double Delta = (IntRectangle - IntLeibniz) / IntLeibniz * 100;//вычисление погрешности метода Delta = Math.Abs(Delta); s += String.Format("\nПогрешность = {0:f3} %", Delta);// запись в строковую переменную погрешности return s; } public double fx(double x)//возвращает значение функции { return 2 * x + 3 * x * x + (1) * Math.Pow(x, 3); } public double Fx(double x)//возвращает значение первообразной { return ((2 * (x * x)) / 2) + ((3 / (double)3) * Math.Pow(x, 3)) + (-(x * x * x * x) / 4); } public double h//возвращает шаг { get { return (b - a) / (m); } } public double IntLeibniz//возвращает точное значение интеграла { get { return Fx(b) - Fx(a); } } public double IntRectangle//возвращает приближенное значение интеграла методом входящих прямоугольников { get { double sum = (fx(a) + fx(b)); for (double i = 0; i < m; i ++) sum += fx(i); sum = ((b-a)/m); return sum; } } static void Main() { Integral obj = new Integral(-3, 11, 400);//задаем пределы интегрирования и число разбиений Console.WriteLine(obj.ToString());//вывод значения возвращаемого методом ToString } } } }
public double IntRectangle//возвращает приближенное значение интеграла методом входящих прямоугольников { get { double sum = (fx(a) + fx(b)); for (double i = 0; i < m; i ++) sum += fx(i); sum = ((b-a)/m); return sum; } }
Решение задачи: «Как написать метод считающий интеграл методом входящих прямоугольников?»
textual
Листинг программы
for (x = a; x < b; x = x + h) { Sum += x / Math.Sqrt(1 + 3 * x); } fun = Sum * h;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д