
Лабораторная работа № 7.
Тема: Вычисление интегралов при помощи формул Ньютона-Котеса.
Цель: научиться определять численное решение определенного интеграла.
Численное интегрирование
Многие инженерные задачи, задачи физики, геометрии и многих других областей человеческой деятельности приводят к необходимости вычислять определенный интеграл вида
(1),
где f(x) — подынтегральная функция, непрерывная на отрезке [а; b].
Пусть задана подынтегральная функция f(х), необходимо найти определенный интеграл, который вычисляется по формуле Ньютона — Лейбница
=
F(b)-F(a).
(2)
Если же интеграл от данной функции не может быть вычислен по формуле (2), или если функция f(х) задана графически или таблицей, то для вычисления определенного интеграла применяют приближенные формулы. Для приближенного вычисления интеграла (2) существует много численных методов, таких как:
• метод прямоугольников;
• трапеций;
• Симпсона и др.
При вычислении интеграла следует помнить, каков геометрический смысл определенного интеграла.
Если f(x)
0 на отрезке [а;
b],
то
численно
равен площади фигуры, ограниченной
графиком функции у
= f(х),
отрезком оси абсцисс, прямой х
= а и прямой х
= b
(рис. 1). Таким образом, вычисление
интеграла равносильно вычислению
площади криволинейной трапеции.
Рис. 1. Геометрический смысл интеграла
Метод прямоугольников
Разделим отрезок [а;
b]
на n
равных частей, т. е. на
n
элементарных отрезков. Длина каждого
элементарного отрезка
.
Точками деления будут: х0
= а; x1
= a + h; x2
= a + 2h, ...,
хn-1 = а + (n- 1)h; хn = b. Эти числа будем называть узлами. Вычислим значения функции f(x) в узлах, обозначим их у0, у1, у2,, ..., уn. Стало быть, у0=f(а), у1 =f(x1), у2 =f(х2), ..., yn=f(b). Числа у0, y1, у2,, ..., уn являются ординатами точек графика функции, соответствующих абсциссам х0,, х1, х2, ..., хn (рис.1).
Рис. 2. Методы левых (а) и правых (б) прямоугольников
Из рис. 2. видно, что площадь криволинейной трапеции приближенно заменяется площадью многоугольника, составленного из п прямоугольников. Таким образом, вычисление определенного интеграла сводится к нахождению суммы п элементарных прямоугольников
(3)
(4)
Формула (3) называется формулой левых прямоугольников, (4) — правых прямоугольников, (5) — формулой средних прямоугольников (рис. 3).
(5)
Рис. 3. Метод средних прямоугольников
Алгоритм вычисления интеграла по формуле левых прямоугольников показан на рис. 4.
Рис. 4. Схема алгоритма вычисления интеграла
Пример 1. С помощью метода левых и правых прямоугольников вычислить определенный интеграл
,
полагая п =
4.
Решение
Зная пределы интегрирования, а = 1 и b = 9, находим шаг
Тогда точками разбиения будут
Значения подынтегральной
функции
в
этих точках таковы:
y0
= f(x0)
=
;
y1=f(x1)
=
;
y2
=
;
y3
=
;
y4
=
.
Найдем численное значение интеграла по формуле левых прямоугольников:
По формуле правых прямоугольников:
Пример 2. Вычислить по методу левых прямоугольников:
Программа_________________________________________________
program integral 1;{Метод левых прямоугольников}
uses crt;
var i,n:integer;
a,b,h,x,xb,s:real;
function f(x:real):real;
begin
f:=(l/x)*sin(Pi*x/2);
end;
begin
clrscr; gotoxy(10,10);
textbackground(l); clrscr;
write(' Введите нижний предел интегрирования ');
readln(a); gotoxy(l0,12);
write('Введите верхний предел интегрирования ');
readln(b); gotoxy(10,14);
write('Введите количество отрезков '); readln(n);
h:=(b-a)/n; s:=0; xb:=a;
for i:=0 to n-1 do
begin
x:=xb+i*h; s:=s+f(x)*h;
end; gotoxy(10,18);
writeln ('Интеграл равен ',s: 12:10);
readkey;
end.
Пример 3. Вычислить по методу правых прямоугольников:
Программа_________________________________________________
program integral; {Метод правых прямоугольников}
uses crt;
var i,n:integer;
a,b,h,x,xb,s:real;
function f(x:real):real;
begin
f:=(l/x)*sin(3.14*x/2);
end;
begin
clrscr; gotoxy(10,10);
textbackground(l); clrscr;
write('Введите нижний предел интегрирования ');
readln(a); gotoxy(10,12);
write('Введите верхний предел интегрирования ');
readln(b); gotoxy(10,14);
write('Введите количество отрезков '); readln(n);
h:=(b-a)/n; s:=0;
xb:=a; for i:=l to n do
begin
x:=xb+i*h; s:=s+f(x)*h;
end;
gotoxy(10,18);
writeln('Интеграл равен ',s: 12:10);
readkey;
end.
Пример 4. Вычислить по методу средних прямоугольников:
Программа_________________________________________________
program integral; {Метод средних прямоугольников}
uses crt;
var i, n: integer;
a, b, dx, x, s, xb : real;
function f(x : real):real;
begin
f:=(l/x)*sin(3.14*x/2);
end;
begin
clrscr; gotoxy(10,10);
textbackground(l); clrscr;
write('Введите нижний предел интегрирования ');
readln(a); gotoxy(10,12);
write('Введите верхний предел интегрирования ');
readln(b); gotoxy(10,14);
write('Введите количество отрезков '); readln(n);
dx:=(b-a)/n; xb:=a+dx/2; s:=0;
for i:=0 to n-1 do
begin
x:=xb+i*dx; s:=s+f(x)*dx;
end;
gotoxy(10,18);
write('Интеграл равен ',s:15:10);
readkey;
end.