Вычислить интеграл - C (СИ) (158140)
Формулировка задачи:
интеграл от а до b f(x)d(x)=b-a:n[0.5f(0)+f(1)+f(2)+f(n-1)+0.5f(n)]
где f(n)=f(x c индексом n)
Проверьте пожалуйста, где я ошиблась? Примерно такое решение:
#include<stdio.h> #include<math.h> float f(float x); float f(float x){ return x*x; }; main() { int i,n,It,maxIt; float a,b,eps,S,S1; printf(”\nВведитеa,b,eps,maxIt\n”); scanf(”%f %f %f %d”, &a,&b,&eps,&maxIt); printf(”\na=%f, b=%f, eps=%f, mIt=%d”,a,b,eps,maxIt); n=1; It=0; S=(b-a)*f(b); do { S1=S; n*=2; It++; h=(b-a)/n; x=a; S=0; for(i=0;i<n;i++) { x+=h; S+=f(x); if (i=o) или? (i=n) go to next S+=-0.5f(x); } S*=h; } while(fabs(S-S1)>eps && It<=maxIt); if (It>maxIt) printf(”\nРешение не найдено за %d итераций”,maxIt); else printf(”\nРешение: %f, итераций: %d”,S,It); }
Решение задачи: «Вычислить интеграл»
textual
Листинг программы
S = 0.5*(f(a) + f(b)); for( i = 1; i < n; i++ ) { x += h; S += f(x); }
Объяснение кода листинга программы
- В начале вычисляется значение S, которое представляет собой сумму функций f(a) и f(b).
- Затем происходит итерация по переменной i от 1 до n-1.
- На каждой итерации значение переменной x увеличивается на h.
- Значение переменной S увеличивается на f(x).
- Значения переменных a, b и h не указаны в коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д