Вычисление интергала, поменять функцию - 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; }
Объяснение кода листинга программы
- В функции mpr происходит вычисление интеграла методом прямоугольников.
- В функции mtr происходит вычисление интеграла методом трапеций.
- В функции main происходит запрос у пользователя границ отрезка интегрирования и количества отрезков разбиения.
- Переменная h инициализируется как (b-a)/n.
- Вызывается функция mpr для вычисления интеграла по методу прямоугольников.
- Вызывается функция mtr для вычисления интеграла по методу трапеций.
- Значения интегралов выводятся на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д