Как написать метод считающий интеграл методом входящих прямоугольников? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Не могу написать код считающий интеграл методом входящих прямоугольников. Общий код программы у меня вот такой:
Листинг программы
  1. using System;
  2. namespace Курсовая_работа
  3. {
  4. class Интеграл1
  5. {
  6. struct Integral
  7. {
  8. Double a, b;
  9. int m;
  10. public Integral(double ina, double inb, int inm)//конструктор типа Integral
  11. {
  12. a = ina < inb ? ina : inb;
  13. b = ina < inb ? inb : ina; ;// регулирует значения пределов интегрирования таким образом,что верхний предел интегрирования всегда больше нижнего
  14. m = inm;
  15. }
  16. public override string ToString()//определение метода ToString
  17. {
  18. string s;
  19. s = String.Format("Точное знаение= {0:f3}\nПриближенное значение={1:f3}", IntLeibniz, IntRectangle);// запись в строковую переменную точного и приближенного значений интеграла
  20. double Delta = (IntRectangle - IntLeibniz) / IntLeibniz * 100;//вычисление погрешности метода
  21. Delta = Math.Abs(Delta);
  22. s += String.Format("\nПогрешность = {0:f3} %", Delta);// запись в строковую переменную погрешности
  23. return s;
  24. }
  25. public double fx(double x)//возвращает значение функции
  26. { return 2 * x + 3 * x * x + (1) * Math.Pow(x, 3); }
  27. public double Fx(double x)//возвращает значение первообразной
  28. { return ((2 * (x * x)) / 2) + ((3 / (double)3) * Math.Pow(x, 3)) + (-(x * x * x * x) / 4); }
  29. public double h//возвращает шаг
  30. {
  31. get
  32. { return (b - a) / (m); }
  33. }
  34. public double IntLeibniz//возвращает точное значение интеграла
  35. {
  36. get
  37. { return Fx(b) - Fx(a); }
  38. }
  39. public double IntRectangle//возвращает приближенное значение интеграла методом входящих прямоугольников
  40. {
  41. get
  42. {
  43. double sum = (fx(a) + fx(b));
  44. for (double i = 0; i < m; i ++)
  45. sum += fx(i);
  46. sum = ((b-a)/m);
  47. return sum;
  48. }
  49. }
  50.  
  51. static void Main()
  52. {
  53. Integral obj = new Integral(-3, 11, 400);//задаем пределы интегрирования и число разбиений
  54. Console.WriteLine(obj.ToString());//вывод значения возвращаемого методом ToString
  55. }
  56. }
  57. }
  58. }
А вот метод считающий интеграл входящими прямоугольниками вот такой у меня получился,но там прогрешность 100%))))
Листинг программы
  1. public double IntRectangle//возвращает приближенное значение интеграла методом входящих прямоугольников
  2. {
  3. get
  4. {
  5. double sum = (fx(a) + fx(b));
  6. for (double i = 0; i < m; i ++)
  7. sum += fx(i);
  8. sum = ((b-a)/m);
  9. return sum;
  10. }
  11. }

Решение задачи: «Как написать метод считающий интеграл методом входящих прямоугольников?»

textual
Листинг программы
  1. for (x = a; x < b; x = x + h)
  2. {
  3.     Sum += x / Math.Sqrt(1 + 3 * x);
  4. }
  5. fun = Sum * h;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы