Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения
 

Вычисление определённого интеграла с помощью метода трапеций на компьютере

Работа из раздела: «Программирование и комп-ры»

             МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ



                               КУРСОВАЯ РАБОТА

                                    тема:
                     «Вычисление определённого интеграла
                          с помощью метода трапеций
                               на компьютере»



                                                                   Выполнил:
                                                                студент ф-та
                                                                   ЭОУС-1-12
                                                                    Зыков И.

                                                                     Принял:
                                                                Зоткин С. П.



                                 Москва 2001
                                1. Введение:

   Определенный интеграл от функции, имеющей  неэлементарную  первообразную,
можно вычислить с помощью той или иной  приближенной  формулы.  Для  решения
этой задачи на компьютере, можно воспользоваться формулами  прямоугольников,
трапеций или формулой Симпсона.  В  данной  работе  рассматривается  формула
трапеций.
   Пусть I=(  f(x)dx,  где  f(x)  –  непрерывная  функция,  которую  мы  для
наглядности будем  предполагать  положительной.  Тогда  I  представит  собой
площадь криволинейной трапеции, ограниченной линиями x=a, x=b, y=0,  y=f(x).
Выберем какое-нибудь натуральное число n  и  разложим  отрезок  [a,b]  на  n
равных отрезков при  помощи  точек  x0=a
#include
#include
main()
{
double a,b,er,eps,f(double),s,trap(double,double,double,double(*)(double));
clrscr();
printf('
 Задайте пределы интегрирования и точность: ');
scanf ('%lf%lf%lf',&a,&b,&eps);
s=trap(a,b,eps,f);
printf('
 Интеграл от a=%3.2lf до b=%3.2lf равен %lf',a,b,s);
getch();
}
double f(double x)
{
return x*x*x+2*(x*x)-3*x-8;
}
double trap(double a,double b,double eps,double(*f)(double))
{
double h,s,s0,s1,sn;
int i,n;
s=1; sn=101;
n=4;
s0=(f(a)+f(b))/2;
s1=f((a+b)/2);
while(fabs(s-sn)>eps){
         sn=s;
         h=(b-a)/n;
         for(i=0; i eps

                     ( ydx ( ((b-a)/2* n)*(Yкр+2*Yпром)

                                   Вывод S

[pic]



ref.by 2006—2022
contextus@mail.ru