Вычислить интеграл - 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) Проверьте пожалуйста, где я ошиблась? Примерно такое решение:
Листинг программы
  1. #include<stdio.h>
  2. #include<math.h>
  3. float f(float x);
  4. float f(float x){ return x*x; };
  5. main()
  6. {
  7. int i,n,It,maxIt;
  8. float a,b,eps,S,S1;
  9. printf(”\nВведитеa,b,eps,maxIt\n”);
  10. scanf(”%f %f %f %d”, &a,&b,&eps,&maxIt);
  11. printf(”\na=%f, b=%f, eps=%f, mIt=%d”,a,b,eps,maxIt);
  12. n=1; It=0;
  13. S=(b-a)*f(b);
  14. do
  15. {
  16. S1=S;
  17. n*=2; It++;
  18. h=(b-a)/n;
  19. x=a;
  20. S=0;
  21. for(i=0;i<n;i++)
  22. {
  23. x+=h;
  24. S+=f(x);
  25. if (i=o) или? (i=n) go to next S+=-0.5f(x);
  26. }
  27. S*=h;
  28. } while(fabs(S-S1)>eps && It<=maxIt);
  29. if (It>maxIt) printf(”\nРешение не найдено за %d итераций”,maxIt);
  30. else printf(”\nРешение: %f, итераций: %d”,S,It);
  31. }

Решение задачи: «Вычислить интеграл»

textual
Листинг программы
  1. S = 0.5*(f(a) + f(b));
  2. for( i = 1; i < n; i++ )
  3. {
  4.   x += h;
  5.   S += f(x);
  6. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы