Разработать программу для вычисления интеграла методом трапеций и методом Симпсона - C (СИ)

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

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

Разработать программу для вычисления интеграла методом трапеций и методом Симпсона, оформив каждый способ в виде отдельной функции. Вывести на экран результаты интегрирования разными методами для сравнения.

Решение задачи: «Разработать программу для вычисления интеграла методом трапеций и методом Симпсона»

textual
Листинг программы
  1. float f (float x) { //Функция, интеграл от которой берется
  2.  return x*x*atan(x);
  3. }
  4.  
  5. float Trap (float x0,float h,float x1) { //Метод трапеций
  6.  float x,s;
  7.  s=(f(x0)+f(x1))/2;
  8.  for (x=x0+h; x<x1; x+=h) {
  9.   s+=f(x);
  10.  }
  11.  return s*h;
  12. }
  13.  
  14. float Simpson (float x0,float h,float x1) { //Метод Симпсона
  15.  float x,s;
  16.  int i,n;
  17.  n=(x1-x0)/h;
  18.  s=(f(x0)+f(x1))/2+2*f(x0+h/2);
  19.  x=x0;
  20.  for (i=0; i<n-1; i++) {
  21.   x+=h;
  22.   s+=(2*f(x+h/2)+f(x));
  23.  }
  24.  return s*h/3;
  25. }

Объяснение кода листинга программы

  1. В функции f происходит вычисление значения функции f(x) - возвращается значение x*x*atan(x).
  2. В функции Trap используется метод трапеций для вычисления интеграла. Принимаются начальное и конечное значения x0 и x1, а также шаг h. Переменная s инициализируется как среднее арифметическое значений функции f(x) на x0 и x1. Затем в цикле for с шагом h значение s увеличивается на значение функции f(x) на каждом шаге h. В конце функция возвращает значение s*h, которое является приближенным значением интеграла.
  3. В функции Simpson используется метод Симпсона для вычисления интеграла. Принимаются начальное и конечное значения x0 и x1, а также шаг h. Переменная s инициализируется как среднее арифметическое значений функции f(x) на x0 и x1. Затем в цикле for с шагом h значение x увеличивается на h, и в каждой итерации значение s увеличивается на (2*f(x+h/2)+f(x)), затем значение x увеличивается на h. В конце функция возвращает значение s*h/3, которое является приближенным значением интеграла.

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


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

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

14   голосов , оценка 3.714 из 5

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

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

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