 
        
        Лабораторная работа3
.DOCCанкт-Петербургский Государственный Электротехнический Университет
КАФЕДРА МОЭВМ
Отчет по лабораторной работе N9
вариант N4
Преподаватель : Титов М.С.
Студент : Виноградов К. Ю.
Группа : 6361
Санкт-Петербург
1. Задание:
Составить программу, вычисляющую заданный интеграл по формуле Гусса.

2. Теоретическая часть:
В квадратурной формуле Гаусса

узлы
 и коэффициенты
и коэффициенты  
 подобраны так, чтобы формула была точна
для всех многочленов степени
подобраны так, чтобы формула была точна
для всех многочленов степени 
 .
Для приближенного вычисления интеграла
по конечному отрезку
.
Для приближенного вычисления интеграла
по конечному отрезку 
 выполняется замена переменной
выполняется замена переменной 
 ;
тогда квадратурная формула Гаусса
принимает вид [2,8,12]
;
тогда квадратурная формула Гаусса
принимает вид [2,8,12]
 ,
,
где
 ;
;
 - узлы квадратурной формулы Гаусса;
- узлы квадратурной формулы Гаусса; 
 - гауссовы коэффициенты
- гауссовы коэффициенты 
 .
.
Если подынтегральная функция достаточно гладкая, то формула Гаусса обеспечивает очень высокую точность при небольшом числе узлов.
В лабораторной работе №9 требуется, используя квадратурную формулу Гаусса наивысшего порядка точности, вычислить приближенное значение заданного интеграла.
Интеграл предлагается вычислить по квадратурной формуле Гаусса с восемью узлами:
 ,
,
 ;
;
 ,
, ;
;
 ,
, ;
;
 ,
, .
.
3. Порядок выполнения лабораторной работы №9.
- 
Составить программу-функцию для вычисления интеграла по формуле Гаусса. 
- 
Составить программу-функцию для вычисления значений подынтегральной функции. 
- 
Составить головную программу, содержащую обращение к вычислительным процедурам и осуществляющую печать результатов. 
- 
Результаты работы оформить в виде краткого отчета, содержащего характеристику используемого метода вычислений, его точности и полученное значение интеграла. 
4. Текст программы:
//Программа для вычисления интеграла на отрезке [1;2] по формуле Гаусса.
// Программа написана ст. гр. 6311 Виноградовым Константином
#include<conio.h>
#include<math.h>
const double t[8]= {
-0.9602898986,
-0.79666648,
-0.52553242,
-0.18343464,
0.18343464,
0.52553242,
0.79666648,
0.9602898986
};
const double c[8]= {
0.10122854,
0.22238104,
0.31370664,
0.36268378,
0.36268378,
0.31370664,
0.22238104,
0.10122854
};
const float a=1;
const float b=2;
double func(double x)
{
return (1/(x*x)*exp(-2*x));
}
main()
{
clrscr();
double answer=0;
for(int k=0;k<8;k++)
{ answer+=c[k]*func((b+a)/2+((b-a)/2)*t[k]);
cprintf(" %10.6f\n\r",answer);
};
cprintf(" ЋвўҐв > %10.6f",answer*(b-a)/2);
if(!getch()) getch();
return 0;
}
5. Результаты работы программы:
Программа вычисляет интеграл на отр.[1;2]
С помощью данной программы были получены следующие результаты :
Значение интеграла по формулам:
