Вычислить интеграл - 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);
}

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

  1. В начале вычисляется значение S, которое представляет собой сумму функций f(a) и f(b).
  2. Затем происходит итерация по переменной i от 1 до n-1.
  3. На каждой итерации значение переменной x увеличивается на h.
  4. Значение переменной S увеличивается на f(x).
  5. Значения переменных a, b и h не указаны в коде.

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


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

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

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