Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Формула трапеций
Положим в формулах (6.6) n = 1 и вычислим значения Ai: Мы заменили подынтегральную функцию многочленом Лагранжа первой степени и получили формулу трапеций: . (6.13) Геометрический смысл формулы трапеций (6.13) заключается в том, что кривая y = y (x) заменяется отрезком прямой, проходящей через точки Рис.6.3 Заметим, что формулы трапеций и средних прямоугольников являются точными для линейной функции. Если обобщить (6.13) для равномерного разбиения отрезка на n частей, то приходим к общей формуле трапеций (рис.6.4): (6.14) Рис.6.4 Погрешность формулы трапеций (6.13) есть величина порядка O(h 3). В этом можно убедиться, используя формулу погрешности интерполяционной формулы Лагранжа. А для общей формулы трапеций (6.14) погрешность есть величина порядка O(h 2), так как при суммировании погрешности накапливаются. Пример 6.1. Вычислить по формуле трапеций (6.14) интеграл , используя разбиение отрезка на n = 10 частей. Решение. Проведем вычисления в Excel. В столбце столбцах A и B запишем значения индекса i и переменной x. В ячейку B 2 вводим формулу =sin(B2)/B2 и маркером заполнения копируем в ячейки B 3: B 12. В ячейках D 2: D 12 вводим коэффициенты при yi общей формулы трапеций (6.14). В ячейку D 13 вводим формулу =СУММПРОИЗВ(C2: C12; D2: D12)*0, 1. Результаты вычислений приведены в таблице 6.1. Табл. 6.1
Точное значение интеграла равно Относительная погрешность составляет Создадим в этом же файле программы 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 и введем в любую свободную ячейку (например, в D 14) формулу =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 Тогда в ячейке D 14 изменится значение интеграла, так как изменилась подынтегральная функция. Исправим в ячейке D 14 формулу, введем новые пределы: =Int_tr(0; 3, 1415926; 100). Получим значение 1, 999836. Точное значение интеграла равно 2.
|