6.1.2.Формула трапеций
Положим в формулах (6.6) n = 1 и вычислим значения Ai:
Мы заменили подынтегральную функцию многочленом Лагранжа первой степени и получили формулу трапеций:
.
(6.13)
Геометрический смысл формулы трапеций (6.13) заключается в том, что кривая y = y(x) заменяется отрезком прямой, проходящей через точки (x0, y0) и (x1, y1), или, в других обозначениях, (a, y(a)) и (b, y(b)) (рис.6.3).
Рис.6.3
Заметим, что формулы трапеций и средних прямоугольников являются точными для линейной функции.
Если обобщить (6.13) для равномерного разбиения отрезка на n частей, то приходим к общей формуле трапеций (рис.6.4):
(6.14)
Рис.6.4
Погрешность формулы трапеций (6.13) есть величина порядка O(h3). В этом можно убедиться, используя формулу погрешности интерполяционной формулы Лагранжа. А для общей формулы трапеций (6.14) погрешность есть величина порядка O(h2), так как при суммировании погрешности накапливаются.
Пример 6.1. Вычислить по формуле трапеций (6.14) интеграл
,
используя разбиение отрезка на n = 10 частей.
Решение. Проведем вычисления в Excel. В столбцах A и B запишем значения индекса i и переменной x. В ячейку B2 вводим формулу =sin(B2)/B2 и маркером заполнения копируем в ячейки B3:B12. В ячейках D2:D12 вводим коэффициенты при yi общей формулы трапеций (6.14). В ячейку D13 вводим формулу =СУММПРОИЗВ(C2:C12;D2:D12)*0,1. Результаты вычислений приведены в таблице 6.1.
Табл. 6.1
|
A |
B |
C |
D |
1 |
i |
xi |
yi |
Коэффициенты |
2 |
0 |
1 |
1 |
0,5 |
3 |
1 |
1,1 |
0,909091 |
1 |
4 |
2 |
1,2 |
0,833333 |
1 |
5 |
3 |
1,3 |
0,769231 |
1 |
6 |
4 |
1,4 |
0,714286 |
1 |
7 |
5 |
1,5 |
0,666667 |
1 |
8 |
6 |
1,6 |
0,625 |
1 |
9 |
7 |
1,7 |
0,588235 |
1 |
10 |
8 |
1,8 |
0,555556 |
1 |
11 |
9 |
1,9 |
0,526316 |
1 |
12 |
10 |
2 |
0,5 |
0,5 |
13 |
|
Интеграл= |
|
0,693771 |
Точное значение интеграла равно
Относительная погрешность составляет
Создадим в этом же файле программы Excel макрос — функцию для вычисления интеграла по формуле трапеций (6.14).
С помощью меню «Сервис — Макроc — Редактор Visual Basic» откроем окно редактора, выполним команду «Insert — Module» и введем программы
Function f(x): f = 1 / x: End Function
Function Int_tr(a, b, n)
s = 0: h = (b - a) / n: x = a
For i = 1 To n - 1: x = x + h: s = s + f(x): Next i
Int_tr = h * (s + (f(a) + f(b)) / 2)
End Function
Переходим в Excel и введем в любую свободную ячейку (например, в D14) формулу =Int_tr(1; 2; 100), получим значение 0,693153. Это значение вычислено с шагом h =0,01 и поэтому оно ближе к точному значению интеграла, чем значение, полученное в таблице 6.1.
Чтобы вычислить интеграл от другой функции, надо изменить описание функции
Function f(x): f = 1 / x: End Function
Например, вычислим интеграл
.
Для этого в описании функции заменим
формулу на новую, т.е. введем
Function f(x): f = sin(x): End Function
Тогда в ячейке D14 изменится значение интеграла, так как изменилась подынтегральная функция. Исправим в ячейке D14 формулу, введем новые пределы: =Int_tr(0; 3,1415926; 100). Получим значение 1,999836. Точное значение интеграла равно 2.
