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

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

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

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

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

textual
Листинг программы
float f (float x) { //Функция, интеграл от которой берется
 return x*x*atan(x);
}
 
float Trap (float x0,float h,float x1) { //Метод трапеций
 float x,s;
 s=(f(x0)+f(x1))/2;
 for (x=x0+h; x<x1; x+=h) {
  s+=f(x);
 }
 return s*h;
}
 
float Simpson (float x0,float h,float x1) { //Метод Симпсона
 float x,s;
 int i,n;
 n=(x1-x0)/h;
 s=(f(x0)+f(x1))/2+2*f(x0+h/2);
 x=x0;
 for (i=0; i<n-1; i++) {
  x+=h;
  s+=(2*f(x+h/2)+f(x));
 }
 return s*h/3;
}

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

  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
Похожие ответы