Вычисление интергала, поменять функцию - C (СИ)

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

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

Помогите, пожалуйста, поменять подынтегральную функцию с f = pow((x+1),(-1/3)) на вот программа для нахождения с f = pow((x+1),(-1/3))
double mpr(double a,double h,int n)
{
    double s = 0, i2;
    int i;
    for (i=1; i<(n+1); i++)
    s = s + pow(((a+(i-0.5)*h)+1), (-1/3.0));
    i2 = h*s;
    return i2;
}
double mtr(double a,double b,double h,int n)
{
    double s = 0,  i3;
    int i;
    for (i=1; i<n; i++)
    s+ = pow(((a+i*h)+1),(-1/3.0));
    i3=h*((pow((a+1),(-1/3.0))+pow((b+1),(-1/3.0)))/2+s);
    return i3;
}
void main()
{
    double a,b,h;
    int n; printf("Введите границы отрезка интегрирования\n");
    scanf("%lg %lg",&a,&b);
    printf("Введите количество отрезков разбиения\n");
    scanf("%d",&n);
    h = (double)(b-a)/n;
    printf("Интеграл по методу прямоугольников равен %lg\n", mpr(a,h,n));
    printf("Интеграл по методу трапеций равен %lg\n", mtr(a,b,h,n));
}

Решение задачи: «Вычисление интергала, поменять функцию»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double mpr(double a,double h,int n)
{
    double s = 0, i2;
    int i;
    for (i=1; i<(n+1); i++)
        s = s + pow( (pow(a+(i-0.5)*h,3)+1 ),(-1/3))*sin(a+(i-0.5)*h);
    i2 = h*s;
    return i2;
}
double mtr(double a,double b,double h,int n)
{
    double s = 0,  i3;
    int i;
    for (i=1; i<n; i++)
        s+= pow( (pow(a+i*h,3)+1 ),(-1/3))*sin(a+i*h);
    i3=h*((pow( (pow(a,3)+1 ),(-1/3))*sin(a) + pow( (pow(b,3)+1 ),(-1/3))*sin(b))/2+s);
    return i3;
}
int main()
{
    double a,b,h;
    int n;
    printf("Введите границы отрезка интегрирования\n");
    scanf("%lg %lg",&a,&b);
    printf("Введите количество отрезков разбиения\n");
    scanf("%d",&n);
    h = (double)(b-a)/n;
    printf("Интеграл по методу прямоугольников равен %lg\n", mpr(a,h,n));
    printf("Интеграл по методу трапеций равен %lg\n", mtr(a,b,h,n));
 
    return 0;
}

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

  1. В функции mpr происходит вычисление интеграла методом прямоугольников.
  2. В функции mtr происходит вычисление интеграла методом трапеций.
  3. В функции main происходит запрос у пользователя границ отрезка интегрирования и количества отрезков разбиения.
  4. Переменная h инициализируется как (b-a)/n.
  5. Вызывается функция mpr для вычисления интеграла по методу прямоугольников.
  6. Вызывается функция mtr для вычисления интеграла по методу трапеций.
  7. Значения интегралов выводятся на экран.

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


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

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

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