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

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

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

Используя метод СИмпсона, составить программу вычисления определенного интеграла на отрезке [a,b] Интеграл от П\4 до П\2, под знаком интеграла pow(sin(x),2)*dx

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

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
double ffunc(double x)
{
double pop;
pop=1/sqrt(x);
    return pop;
}
double integral(double (*f)(double), double a, double b)
{
int n=10;
int i;
double h=(b-a)/n;
double s,x=a;
double pop2;
s=f(a)+f(b);
for (i = 1; x < b ; i++) {
    x=x+2*h;
    s+=f(x)*2;
}
    x=a-h;
for (i = 1; x < b; i++) {
        x=x+2*h;
    s+=f(x)*4;
    }
pop2=s*h/3;
return pop2;
}
void main()
{
double pi=3.141592653589, b,a;
a=pi/4;
    b=pi/2;
printf("\n integral = %le",integral(ffunc,a,b));
scanf("%f",a);
}

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

  1. Объявлены функции ffunc и integral.
  2. В функции ffunc вычисляется значение функции f(x) = 1/sqrt(x).
  3. В функции integral задается количество подмоток n=10, а также значения a и b, ограничивающие интервал интегрирования.
  4. Вычисляется шаг h как h=(b-a)/n.
  5. Инициализируется переменная s как сумма f(a) и f(b).
  6. В цикле выполняется интегрирование методом Симпсона, где каждая итерация добавляет в s значения f(x) умноженные на 2 или 4 в зависимости от того, находится ли x в интервале [a,b].
  7. Вычисляется значение pop2 как s*h/3.
  8. В функции main задаются значения a и b для интеграции.
  9. Вычисляется и выводится результат интеграции integral(ffunc,a,b).
  10. Пользователю предлагается ввести новое значение для a, но ввод не происходит, так как функция scanf ожидает ввода в переменную a, которая уже содержит значение после выполнения программы.

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


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

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

10   голосов , оценка 3.9 из 5
Похожие ответы