Пусть требуется найти определенный интеграл , причем функция считается непрерывной на отрезке . Если от подынтегральной функции первообразная находится легко, то значение рассматриваемого интеграла находится по формуле Ньютона-Лейбница:
Но не в каждом случае отыскание первообразной для подынтегральной функции является достаточно простым, а также не для всякой непрерывной функции существует первообразная, выражающаяся через элементарные функции. В подобных случаях применяют приближенные формулы, которые позволяют вычислить определенный интеграл с любой степенью точности.
Наиболее часто используются три формулы приближенного вычисления определенного интеграла – формула прямоугольников, формула трапеций и формулу парабол или формула Симпсона, основанные на геометрическом смысле определенного интеграла: если функция непрерывна и положительна на отрезке , то определенный интеграл представляет собой площадь криволинейной трапеции, ограниченной линиями , , и (рис. 1).
1. Формула прямоугольников
Пусть на отрезке задана непрерывная функция . Вычислим численно определенный интеграл , который равен площади криволинейной трапеции.
- Разобьем основание этой трапеции (отрезок ) на равных частей-отрезков длины
-
- Величину будем называть шагом разбиения. В результате получим точки
-
- Можно записать, что
-
- Тогда сумма площадей всех прямоугольников равна площади ступенчатой фигуры, которая представляет собой приближенное значение искомого определенного интеграла :
-
- Полученная формула называется формулой прямоугольников.
- Абсолютная погрешность последнего приближенного равенства удовлетворяет следующей оценке:
-
- где – наибольшее значение на рассматриваемом отрезке .
2. Формула трапеций
Эту формулу получают аналогично формуле прямоугольников: на каждом частичном отрезке криволинейная трапеция заменяется обычной.
- Заменим кривую ломаной линией, звенья которой соединяют концы ординат и . Тогда площадь криволинейной трапеции приближенно равна сумме площадей обычных трапеций с основаниями , и высотой , то есть
- Записанная формула называется формулой трапеций.
- Абсолютная погрешность
- где .
3. Формула парабол (Симпсона)
- Если заменить график функции на каждом отрезке , которые получены после разбиения отрезка интегрирования на равных частей, не отрезками прямых, как в методах трапеций и прямоугольников, а дугами парабол, то получим более точную формулу приближенного вычисления определенного интеграла .
- Как было сказано выше, разобьем отрезок на равных частей (отрезков) длиной точками
- причем , . В точках разбиения находим значения подынтегральной функции
то есть (рис. 4).
Заменяем каждую пару соседних элементарных криволинейных трапеций с основаниями одной элементарной параболической трапецией с основанием . Тогда, например, на частичном отрезке парабола проходит через три точки , , и так далее.
- Расчетная формула парабол (или Симпсона) для этого метода имеет вид:
- Абсолютная погрешность вычисления по этой формуле оценивается соотношением
- где .
Понравился сайт? Расскажи друзьям! |
Источник: http://ru.solverbook.com/spravochnik/integraly/priblizhennoe-vychislenie-opredelennogo-integrala/
§ 42. Приближенное вычисление определенного интеграла
Знання → Вища математика →
Определенный интеграл
Додати до моєї бази знань | Математика |
Пусть требуется найти определенный интегралот непрерывной функции ƒ(х). Если можно найти первообразнуюF(x) функции ƒ(х), то интеграл вычисляется по формуле Ньютона-Лейбница:
Но отыскание первообразной функции иногда весьма сложно; кроме того, как известно, не для всякой непрерывной функции ее первообразная выражается через элементарные функции. В этих и других случаях (например, функция у = ƒ(х) задана графически или табличнo) прибегают к приближенным формулам, с помощью которых определенный интеграл находится с любой степенью точности.
Рассмотрим три наиболее употребительные формулы приближенного вычисления определенного интеграла — формулу прямоугольников, формулу трапеций, формулу парабол (Симпсона), основанные на геометрическом смысле определенного интеграла.
42.1. Формула прямоугольников
Пусть на отрезке [а; b], а < b, задана непрерывная функция ƒ(х). Требуется вычислить интегралчисленно равный площади соответствующей криволинейнойтрапеции. Разобьем основание этой трапеции, т. е. отрезок [а; b], на n равных частей (отрезков) длины
(шаг разбиения) с помощью точек х0 = а, x1, х2,…, хn = b. Можно записать, что хi= х0+h• i, где i = 1,2,…, n (см. рис. 200).
В серединекаждого такого отрезка построим ординату ŷi =ƒ(сi) графика функции у = ƒ(х). Приняв эту ординату за высоту, построим прямоугольник с площадью h • ŷi.
Тогда сумма площадей всех n прямо угольников дает площадь ступенчатой фигуры, представляющую собой приближенное значение искомого определенного интеграла
Формула (42.1) называется формулой средних прямоугольников.
Абсолютная погрешность приближенного равенства (42.1) оценивается с помощью следующей формулы:
где М2 — наибольшее значение |ƒ»(х)| на отрезке [а; b],
Отметим, что для линейной функции (ƒ(х)=kх+b) формула (42.1) дает точный ответ, поскольку в этом случае ƒ»(х)=0.
42.2. Формула трапеций
Формулу трапеций получают аналогично формуле прямоугольников: на каждом частичном отрезке криволинейная трапеция заменяется обычной.
Разобьем отрезок [а; b] на n равных частей длиныАбсциссы точек деления а = х0, x1,х2,…,b = хn (рис. 201). Пусть у0,у1…,уn —
соответствующие им ординаты графика функции. Тогда расчетные формулыдля этих значений примут вид хi = a+h*i, уi=ƒ(xi), i= 0,1,2,…, n;
Заменим кривую у=ƒ(х) ломаной линией, звенья которой соединяют концы ординат yi и yi+1 (i = 0,1,2,.. .,n). Тогда площадь криволинейной трапеции приближенно равна сумме площадей обычных трапеций с основаниями уi, yi+1 и высотой
или
Формула (42.2) называется формулой трапеций.
Абсолютная погрешность Rn приближения, полученного по формуле трапеций, оценивается с помощью формулы• М2, где Снова для линейной функции у=kх +b формула (42.2) — точная.
42.3. Формула парабол (Симпсона)
Если заменить график функции у=ƒ(х) на каждом отрезке [xi-1;xi] разбиения не отрезками прямых, как в методах трапеций и прямоугольников, а дугами парабол, то получим более точную формулу приближенного вычисления интеграла
Предварительно найдем площадь S криволинейной трапеции, ограниченной сверху графиком параболы у = ах2 + bх + с, сбоку — прямыми х = —h, х = h и снизу — Отрезком [-h; h].
Пусть парабола проходит через три точки M1(-h;у0), М2(0; y1), М3(h; у2), где у0 = ah2 -bh + c — ордината параболы в точке х = -h; y1 = с — ордината параболы в точке х = 0; у2 = аh2 + bh+c — ордината параболы в точке х = h (см.рис 202). Площадь S равна
- Выразим эту площадь через h, у0, y1, у2. Из равенств для ординат у (находим, что с=y1,
- Подставляя эти значения с и а в равенство (42.3), получаем
- Получим теперь формулу парабол для вычисления интеграла
Для этого отрезок [а; b] разобьем на 2n равных частей (отрезков) длинойточками xi=х0 + ih (i= 0,1,2,…, 2n). В точках деления а = х0, x1, x2,…, x2n-2 ,x2n-1, x2n = b вычисляем значения подынтегральной функции ƒ(х): у0, у1,у2,…, у2n-2, у2n-1, у2n, где уi=ƒ(хi) (см. рис. 203).
Заменяем каждую пару соседних элементарных криволинейных трапеций с основаниями, равными h, одной элементарной параболической трапецией с основанием, равным 2h. На отрезке [х0;х2] парабола проходит через три точки (х0;у0), (x1;y1), (x2;y2). Используя формулу (42.4), находим
- Аналогично находим
- Сложив полученные равенства, имеем
- или
Формула (42.5) называется формулой парабол (или Симпсона).
Абсолютная погрешность вычисления по формуле (42.5) оценивается соотношением
Отметим, что формула (42.5) дает точное значение интеграла во всех случаях, когда ƒ(х) — многочлен, степенькоторого меньше или равна трем (тогда fIV = 0).
Пример 42.1. Вычислить, разбив отрезок интегрирования [0; 2] на 4 части.
Решение: Имеем: ƒ(х) = х3,
(см.рис. 204)
- а) по формуле прямоугольников:
- б) по формуле трапеции:
- в) по формуле парабол:
- Точное значение интеграла
- Абсолютные погрешности соответствующихформул таковы: а) 0,125; б) 0,25; в) 0.
МатематикаОпределенный интеграл Определенный интеграл Вища математика
загрузка…
Источник: http://www.znannya.org/?view=pribliz-vichisl-opred-integrala
Контрольная Работа РУ — все по-шаговые математические калькуляторы в одном месте. Вы можете задать любой вопрос!
Калькулятор решает интегралы c описанием действий ПОДРОБНО на русском языке и бесплатно!
Решение неопределённых интегралов
Это онлайн сервис в один шаг:
- Ввести подинтегральное выражение (подинтегральную функцию)
Перейти: Онлайн сервис «Неопределенный интеграл» →
Решение определённых интегралов
Это онлайн сервис в один шаг:
- Ввести подинтегральное выражение (подинтегральную функцию)
- Ввести нижний предел для интеграла
- Ввести верхний предел для интеграла
Перейти: Онлайн сервис «Определенный интеграл» →
Решение несобственных интегралов
- Ввести подинтегральное выражение (подинтегральную функцию)
- Введите верхнюю область интегрирования (или + бесконечность)
- Ввести нижнюю область интегрирования (или — бесконечность)
Перейти: Онлайн сервис «Несобственный интеграл» →
Решение двойных интегралов
- Ввести подинтегральное выражение (подинтегральную функцию)
- Ввести нижний и верхний пределы для первой области интегрирования
- Ввести нижний и верхний предел для второй области интегрирования
Перейти: Онлайн сервис «Двойной интеграл» →
Решение тройных интегралов
- Ввести подинтегральное выражение (подинтегральную функцию)
- Ввести нижний и верхний пределы для первой области интегрирования
- Ввести нижний и верхний предел для второй области интегрирования
- Ввести нижний и верхний предел для третьей области интегрирования
Перейти: Онлайн сервис «Тройной интеграл» →
Данный сервис позволяет проверить свои вычисления на правильность
Возможности
- Поддержка всех возможных математических функций: синус, косинус, экспонента, тангенс, котангенс, корень квадратный и кубический, степени, показательные и другие.
- Есть примеры для ввода, как для неопределённых интегралов, так и для несобственных и определённых.
- Исправляет ошибки в ведённых вами выражениях и предлагает свои варианты для ввода.
- Численное решение для определённых и несобственных интегралов (в том числе для двойных и тройных интегралов).
- Поддержка комплексных чисел, а также различных параметров (вы можете указывать в подинтегральном выражении не только переменную интегрирования, но и другие переменные-параметры)
Таблица интегралов
Вы также можете воспользоваться таблицей интегралов, чтобы самостоятельно посчитать любой интеграл, перейти:
Источник: https://www.kontrolnaya-rabota.ru/s/integral/
Вычисление «неберущихся» интегралов с помощью электронных таблиц Microsoft Excel
Сегодня умение пользоваться компьютером — насущная необходимость полноценного получения знаний для студента. Предлагая студентам ту или иную задачу, мы, прежде всего, учитываем наличие знаний по данному вопросу.
Рассмотрим пример урока по теме: Вычисление «неберущихся» интегралов с помощью электронных таблиц Microsoft Excel. Цели урока:
1. Познакомить учащихся с методами приближённого вычисления определённого интеграла.
2. Показать возможность применения электронных таблиц к приближённому вычислению определённых интегралов.
Задача учителя состоит в том, чтобы создать проблемную ситуацию, направить студентов на ее решение, организовать поиск решения. Для этого с учащимися необходимо повторить основные формулы интегрирования, сущность изученных методов интегрирования, геометрический смысл определённого интеграла.
При вычислении производной, мы используем таблицу производных и правила дифференцирования. Результат этих операций приводит к тому, что производная любой элементарной функции снова является элементарной функцией.
В некоторых случаях встречаются определённые интегралы от функций, первообразные которых не выражаются через элементарные функции.
Кроме того, иногда приходится иметь дело с определёнными интегралами, сами подынтегральные функции не являются элементарными, то есть функция задается графиком или таблицей полученных значений.
Поэтому мы во многих случаях не можем найти точное значение определенного интеграла по формуле Ньютона-Лейбница. Трудность операции интегрирования ещё состоит в том, что для неё нет универсального правила нахождения первообразных.
В науке и её приложениях в технике, экономике и других дисциплинах применяются многие неэлементарные функции; часто их называют специальными. К специальным функциям относятся и многие первообразные для элементарных функций, причём часто не столь уж «сложной» структуры.
Интегралы, выражающиеся через такие первообразные, называются неберущимися. Итак, интеграл не берётся, если функция не является элементарной. Можно показать, что интегралы от некоторых элементарных функций уже не являются элементарными функциями. Примерами таких интегралов могут служить следующие интегралы:
1. – интеграл Пуассона. Функция называется функцией Лапласа или интегралом вероятности. Она широко применяется в теории вероятностей, физике, математической и прикладной статистике и других разделах науки и её приложений. Для вычисления значений функции Лапласа составлены таблицы, имеющиеся во многих учебниках, задачниках и справочниках по теории вероятностей и статистике. Интеграл Пуассона широко применяется в теории вероятности;
- Когда не удаётся выразить интеграл в замкнутой форме, или полученная формула сложна, или подынтегральная функция задана таблично, используют численное интегрирование, которое основывается на том, что интеграл представляется в виде предела интегральной суммы (суммы площадей), и позволяют определить эту сумму с приемлемой точностью.
- Существуют различные методы для реализации этой проблемы, но наиболее простые:
- — методы прямоугольников (левых, правых и средних прямоугольников);
- — метод трапеций;
- — метод парабол.
- Метод прямоугольников — это простой и вместе с тем наиболее грубый метод приближенного интегрирования. Геометрическая интерпретация этого метода выглядит следующим образом:
Построим блок-схему решения метода прямоугольников:
Преподаватель создает проблемную ситуацию, состоящую в нахождении интеграла . Студенты делают вывод о том, что в этом случае не применимы изученные методы и признают ситуацию проблемной.
Рассмотрим метод «Приближённое вычисление определенных интегралов по формуле правых прямоугольников» на примере интеграла Пуассона, заключённого на отрезке [0;2]., т. е.
и попробуем его приближенно вычислить с помощью электронной таблицы Excel, результат вычислений проанализируем. Для этого вначале отрезок [0;2] разобьём на 20 равных частей, т. е. Создадим таблицу значений , где .
Воспользуемся методом правых прямоугольников:
В электронной таблице создадим таблицы и введем формулы, используя автозаполнение:
Дано: | Дано: | ||||
a | 0 | a | 0 | ||
b | 2 | b | 2 | ||
n | 20 | n | 20 | ||
h | 0,10 | h | =(B3-B2)/B4 | ||
n | x | y | n | x | y |
1 | 0,1 | 0,990 | 1 | =$B$2+A8*$B$5 | =EXP(-B8*B8) |
2 | 0,2 | 0,961 | 2 | =$B$2+A9*$B$5 | =EXP(-B9*B9) |
3 | 0,3 | 0,914 | 3 | =$B$2+A10*$B$5 | =EXP(-B10*B10) |
4 | 0,4 | 0,852 | 4 | =$B$2+A11*$B$5 | =EXP(-B11*B11) |
5 | 0,5 | 0,779 | 5 | =$B$2+A12*$B$5 | =EXP(-B12*B12) |
6 | 0,6 | 0,698 | 6 | =$B$2+A13*$B$5 | =EXP(-B13*B13) |
7 | 0,7 | 0,613 | 7 | =$B$2+A14*$B$5 | =EXP(-B14*B14) |
8 | 0,8 | 0,527 | 8 | =$B$2+A15*$B$5 | =EXP(-B15*B15) |
9 | 0,9 | 0,445 | 9 | =$B$2+A16*$B$5 | =EXP(-B16*B16) |
10 | 1,0 | 0,368 | 10 | =$B$2+A17*$B$5 | =EXP(-B17*B17) |
11 | 1,1 | 0,298 | 11 | =$B$2+A18*$B$5 | =EXP(-B18*B18) |
12 | 1,2 | 0,237 | 12 | =$B$2+A19*$B$5 | =EXP(-B19*B19) |
13 | 1,3 | 0,185 | 13 | =$B$2+A20*$B$5 | =EXP(-B20*B20) |
14 | 1,4 | 0,141 | 14 | =$B$2+A21*$B$5 | =EXP(-B21*B21) |
15 | 1,5 | 0,105 | 15 | =$B$2+A22*$B$5 | =EXP(-B22*B22) |
16 | 1,6 | 0,077 | 16 | =$B$2+A23*$B$5 | =EXP(-B23*B23) |
17 | 1,7 | 0,056 | 17 | =$B$2+A24*$B$5 | =EXP(-B24*B24) |
18 | 1,8 | 0,039 | 18 | =$B$2+A25*$B$5 | =EXP(-B25*B25) |
19 | 1,9 | 0,027 | 19 | =$B$2+A26*$B$5 | =EXP(-B26*B26) |
20 | 2,0 | 0,018 | 20 | =$B$2+A27*$B$5 | =EXP(-B27*B27) |
Приближённое: | 0,833 | Приближённое: | =СУММ(C8:C27)*B5 | ||
Точное: | 0,882 | Точное: | 0,882 | ||
∆ | 0,049064 | ∆ | =ABS(C29-C28) | ||
δ | 5,56 % | δ | =C30/C29 |
- Построим криволинейную трапецию, ограниченной данной функцией, отрезком [0;2] и осью ОХ, для этого используем вставку диаграммы с областями:
- За точное значение примем результат вычисления с помощью математического процессора MathCAD:
Этот же результат получим с помощью интернет-сервисов на сайте http://www.wolframalpha.com/
- . Вычислим абсолютную и относительную погрешность:
Изменим число разбиений отрезка [0;2] на 200 равных частей. Проанализируем точность вычисления интеграла. Для этого изменим данную таблицу.
Дано: | ||
a | 0 | |
b | 2 | |
n | 200 | |
h | 0,01 | |
n | x | y |
1 | 0,01 | 1,000 |
2 | 0,02 | 1,000 |
3 | 0,03 | 0,999 |
4 | 0,04 | 0,998 |
5 | 0,05 | 0,998 |
6 | 0,06 | 0,996 |
7 | 0,07 | 0,995 |
8 | 0,08 | 0,994 |
9 | 0,09 | 0,992 |
10 | 0,10 | 0,990 |
… | … | … |
197 | 1,97 | 0,021 |
198 | 1,98 | 0,020 |
199 | 1,99 | 0,019 |
200 | 2,00 | 0,018 |
Приближённое: | 0,877 | |
Точное: | 0,882 | |
∆ | 0,0048 | |
δ | 0,55 % |
Сравнивая полученные результаты таблиц, наглядно видно, что во второй таблице точность вычисления данного интеграла выше, чем в первом случае, относительная погрешность во втором случае составляет менее 1 %, т. е. 0,55 %.
Контрольные вопросы.
1. Как уменьшить погрешность нахождения интеграла в методе прямоугольников?
2. В каких случаях метод прямоугольников находит применение?
3. Можно ли получить методами прямоугольников точное значение интеграла?
Заключение и выводы.
Таким образом, очевидно, что методом прямоугольников при вычислении определенных интегралов не дает нам точного значения, а только приближенное.
Следовательно, при увеличении числа разбиений (приуменьшения шага), точность вычислений увеличивается, т. к. уменьшается относительная погрешность.
Если точность вычисления интеграла задана, то можно определить, на сколько частей нужно разбить отрезок.
Литература:
1. http://www.wolframalpha.com/
2. Алгебра и начала математического анализа. 11 класс. Виленкин Н. Я.
3. Информатика и информационные технологии. Учебник для 10–11 классов. Угринович Н. Д.
Источник: https://moluch.ru/archive/89/17911/
Вычисление определённых интегралов: базовые алгоритмы
В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают «под капотом», и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.
Определение интеграла
- Интегралом (по Риману) от функции на отрезке называется следующий предел:
- где — мелкость разбиения, , , — произвольное число на отрезке .
Если интеграл от функции существует, то значение предела одно и то же вне зависимости от разбиения, лишь бы оно было достаточно мелким. Более наглядно геометрическое определение — интеграл равен площади криволинейной трапеции, ограниченной осью 0x, графиком функции и прямыми x = a и x = b (закрашенная область на рисунке).
Квадратурные формулы
- Определение интеграла (1) можно переписать в виде
- где — весовые коэффициенты, сумма которых должна быть равна 1, а сами коэффициенты — стремиться к нулю при увеличении числа точек, в которых вычисляется функция.
Выражение (2) — основа всех квадратурных формул (т.е. формул для приближенного вычисления интеграла).
Задача состоит в том, чтобы выбрать точки и веса таким образом, чтобы сумма в правой части приближала требуемый интеграл как можно точнее.
Вычислительная задача
Задана функция , для которой есть алгоритм вычисления значений в любой точке отрезка (имеются в виду точки, представимые числом с плавающей точкой — никаких там функций Дирихле!).
Требуется найти приближённое значение интеграла . Решения будут реализованы на языке Python 3.6.
Для проверки методов используется интеграл .
Кусочно-постоянная аппроксимация
Идейно простейшие квадратурные формулы возникают из применения выражения (1) «в лоб»:
Т.к. от метода разбиения отрезка точками и выбора точек значение предела не зависит, то выберем их так, чтобы они удобно вычислялись — например, разбиение возьмём равномерным, а для точек вычисления функции рассмотрим варианты: 1) ; 2) ; 3) .
Получаем методы левых прямоугольников, правых прямоугольников и прямоугольников со средней точкой, соответственно.
Реализацияdef _rectangle_rule(func, a, b, nseg, frac):
«»»Обобщённое правило прямоугольников.»»»
dx = 1.0 * (b — a) / nseg
sum = 0.0
xstart = a + frac * dx # 0 abs(rtol * ans)):
old_ans = ans
ans = Quadrature.__double_nseg(func, x0, x1)
err_est = abs(old_ans — ans)
print(«Total function calls: » + str(Quadrature.__ncalls))
return ans
def simpson(func, x0, x1, rtol = 1.0e-10, nseg0 = 1):
«»»Интегрирование методом парабол с заданной точностью.
rtol — относительная точность,
nseg0 — число отрезков начального разбиения»»»
old_trapez_sum = Quadrature.__restart(func, x0, x1, nseg0)
new_trapez_sum = Quadrature.__double_nseg(func, x0, x1)
ans = (4 * new_trapez_sum — old_trapez_sum) / 3
old_ans = 0.0
err_est = max(1, abs(ans))
while (err_est > abs(rtol * ans)):
old_ans = ans
old_trapez_sum = new_trapez_sum
new_trapez_sum = Quadrature.__double_nseg(func, x0, x1)
ans = (4 * new_trapez_sum — old_trapez_sum) / 3
err_est = abs(old_ans — ans)
print(«Total function calls: » + str(Quadrature.__ncalls))
return ans
Сравним эффективность метода трапеций и парабол:
>>> import math
>>> Quadrature.trapezoid(lambda x: 2 * x + 1 / math.sqrt(x + 1 / 16), 0, 1.5, rtol=1e-9)
Total function calls: 65537
4.250000001385811
>>> Quadrature.simpson(lambda x: 2 * x + 1 / math.sqrt(x + 1 / 16), 0, 1.5, rtol=1e-9)
Total function calls: 2049
4.2500000000490985
Как видим, обоими методами ответ можно получть с достаточно высокой точностью, но количество вызовов подынтегральной функции разительно отличается — метод более высокого порядка эффективнее в 32 раза!
Построив график погрешности интегрирования от числа шагов, можно убедиться, что порядок аппроксимации формулы Симпсона равен четырём, т.е. ошибка численного интегрирования (а интегралы от кубических многочленов с помощью этой формулы вычисляются с точностью до ошибок округления при любом чётном n>0!). Отсюда и возникает такой рост эффективности по сравнению с простой формулой трапеций.
Что дальше?
Дальнейшая логика повышения точности квадратурных формул, в целом, понятна — если функцию продолжать приближать многочленами всё более высокой степени, то и интеграл от этих многочленов будет всё точнее приближать интеграл от исходной функции.
Этот подход называется построением квадратурных формул Ньютона-Котеса. Известны формулы вплоть до 8 порядка аппроксимации, но выше среди весовых коэффициентов wi в (2) появляются знакопеременные члены, и формулы при вычислениях теряют устойчивость.
Попробуем пойти другим путём. Ошибка квадратурной формулы представляется в виде ряда по степеням шага интегрирования h. Замечательное свойство метода трапеций (и прямоугольников со средней точкой!) в том, что для неё этот ряд состоит только из чётных степеней:
На нахождении последовательных приближений к этому разложению основана экстраполяция Ричардсона: вместо того, чтобы приближать подынтегральную функцию многочленом, по рассчитанным приближениям интеграла строится полиномиальная аппроксимация, которая при h=0 должна давать наилучшее приближение к истинному значению интеграла.
Разложение ошибки интегрирования по чётным степеням шага разбиения резко ускоряет сходимость экстраполяции, т.к. для аппроксимации порядка 2n нужно всего n значений интеграла методом трапеций.
Если считать, что каждое последующее слагаемое меньше предыдущего, то можно последовательно исключать степени h, имея приближения интеграла, рассчитанные с разными шагами. Поскольку приведённая реализация легко позволяет дробить разбиение вдвое, удобно рассматривать формулы для шагов h и h/2.
- Легко показать, что исключение старшего члена погрешности формулы трапеций в точности даст формулу Симпсона:
- Повторяя аналогичную процедуру для формулы Симпсона, получаем:
- Если продолжить, вырисовывается такая таблица:
I0,0 | ||
I1,0 | I1,1 | |
I2,0 | I2,1 | I2,2 |
… | … | … |
В первом столбце стоят интегралы, вычисленные методом трапеций. При переходе от верхней строки вниз разбиение отрезка становится вдвое мельче, а при переходе от левого столбца вправо повышается порядок аппроксимации интеграла (т.е. во втором столбце находятся интегралы по методу Симпсона и т.д.).
Элементы таблицы, как можно вывести из разложения (5), связаны рекуррентным соотношением:
Погрешность приближения интеграла можно оценить по разности формул разных порядков в одной строке, т.е.
Применение экстраполяции Ричардсона вместе с интегрированием методом трапеций называется методом Ромберга. Если метод Симпсона учитывает два предыдущих значения по методу трапеций, то метод Ромберга использует все ранее вычисленные методом трапеций значения для получения более точной оценки интеграла.
Реализация
Дополнительный метод добавляется в класс Quadrature
class Quadrature:
«»»Базовые определения для квадратурных формул»»»
__sum = 0.0
__nseg = 1 # число отрезков разбиения
__ncalls = 0 # считает число вызовов интегрируемой функции
def __restart(func, x0, x1, nseg0, reset_calls = True):
«»»Обнуление всех счётчиков и аккумуляторов.
Возвращает интеграл методом трапеций на начальном разбиении»»»
if reset_calls:
Quadrature.__ncalls = 0
Quadrature.__nseg = nseg0
# вычисление суммы для метода трапеций с начальным разбиением на nseg0 отрезков
Quadrature.__sum = 0.5 * (func(x0) + func(x1))
dx = 1.0 * (x1 — x0) / nseg0
for i in range(1, nseg0):
Quadrature.__sum += func(x0 + i * dx)
Quadrature.__ncalls += 1 + nseg0
return Quadrature.__sum * dx
def __double_nseg(func, x0, x1):
«»»Вдвое измельчает разбиение.
Возвращает интеграл методом трапеций на новом разбиении»»»
nseg = Quadrature.__nseg
dx = (x1 — x0) / nseg
x = x0 + 0.5 * dx
i = 0
AddedSum = 0.0
for i in range(nseg):
AddedSum += func(x + i * dx)
Quadrature.__sum += AddedSum
Quadrature.__nseg *= 2
Quadrature.__ncalls += nseg
return Quadrature.__sum * 0.5 * dx
def romberg(func, x0, x1, rtol = 1e-10, nseg0 = 1, maxcol = 5, reset_calls = True):
«»»Интегрирование методом Ромберга
nseg0 — начальное число отрезков разбиения
maxcol — максимальный столбец таблицы»»»
# инициализация таблицы
Itable = [[Quadrature.__restart(func, x0, x1, nseg0, reset_calls)]]
i = 0
maxcol = max(0, maxcol)
ans = Itable[i][i]
error_est = max(1, abs(ans))
while (error_est > abs(rtol * ans)):
old_ans = ans
i += 1
d = 4.0
ans_col = min(i, maxcol)
Itable.append([Quadrature.__double_nseg(func, x0, x1)] * (ans_col + 1))
for j in range(0, ans_col):
diff = Itable[i][j] — Itable[i — 1][j]
Itable[i][j + 1] = Itable[i][j] + diff / (d — 1.0)
d *= 4.0
ans = Itable[i][ans_col]
if (maxcol maxcol):
error_est = abs(ans — Itable[i][min(i — maxcol — 1, maxcol — 1)])
else:
error_est = abs(ans — Itable[i — 1][i — 1])
print(«Total function calls: » + str(Quadrature.__ncalls))
return ans
Проверим, как работает аппроксимация высокого порядка:
>>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 0) # трапеции
Total function calls: 65537
4.250000001385811
>>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 1) # параболы
Total function calls: 2049
4.2500000000490985
>>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 4)
Total function calls: 257
4.250000001644076
Убеждаемся, что, по сравнению с методом парабол, число вызовов подынтегральной функции снизилось ещё в 8 раз. При дальнейшем увеличении требуемой точности преимущества метода Ромберга проявляются ещё заметнее:
Некоторые замечания
Замечание 1. Количество вызовов функции в этих задачах характеризует число суммирований при вычислении интеграла.
Уменьшение числа вычислений подынтегрального выражения не только экономит вычислительные ресурсы (хотя при более оптимизированной реализации и это тоже), но и уменьшает влияние погрешностей округления на результат.
Так, при попытке вычислить интеграл тестовой функции метод трапеций зависает при попытке достигнуть относительной точности 5×10-15, метод парабол — при желаемой точности 2×10-16(что является пределом для чисел в двойной точности), а метод Ромберга справляется с вычислением тестового интеграла вплоть до машинной точности (с ошибкой в младшем бите). То есть, повышается не только точность интегрирования при заданном числе вызовов функции, но и предельно достижимая точность вычисления интеграла.
Замечание 2. Если метод сходится при задании некоторой точности, это не означает, что вычисленное значение интеграла имеет ту же самую точность. В первую очередь, это относится к случаям, когда задаваемая погрешность близка к машинной точности.
Замечание 3. Хотя метод Ромберга для ряда функций работает почти магическим образом, он предполагает наличие у подынтегральной функции ограниченных производных высоких порядков. Это значит, что для функций с изломами или разрывами он может оказаться хуже простых методов. Например, проинтегрируем f(x)=|x|:
>>> Quadrature.trapezoid(abs, -1, 3, rtol=1e-5)
Total function calls: 9
5.0
>>> Quadrature.simpson(abs, -1, 3, rtol=1e-5)
Total function calls: 17
5.0
>>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 2)
Total function calls: 17
5.0
>>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 3)
Total function calls: 33
5.0
>>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 4)
Total function calls: 33
5.000001383269357
Замечание 4. Может показаться, что чем выше порядок аппроксимации, тем лучше. На самом деле, лучше ограничить число столбцов таблицы Ромберга на уровне 4-6. Чтобы понять это, посмотрим на формулу (6). Второе слагаемое представляет собой разность двух последовательных элементов j-1-го столбца, поделенную на примерно 4j. Т.к.
в j-1-м столбце находятся аппроксимации интеграла порядка 2j, то сама разность имеет порядок (1/ni)2j ~ 4-ij. C учётом деления получается ~4-(i+1)j ~ 4-j2. Т.е.
при j~7 второе слагаемое в (6) теряет точность после приведения порядков при сложении чисел с плавающей точкой, и повышение порядка аппроксимации может вести к накоплению ошибки округления.
Замечание 5. Желающие могут ради интереса применить описанные методы для нахождения интеграла и эквивалентного ему . Как говорится, почувствуйте разницу.
Заключение
Представлено описание и реализация базовых методов численного интегрирования функций на равномерной сетке.
Продемонстрировано, как с помощью несложной модификации получить на базе метода трапеций класс квадратурных формул по методу Ромберга, что значительно ускоряет сходимость численного интегрирования.
Метод хорошо работает для интегрирования «обычных» функций, т.е. слабо меняющихся на отрезке интегрирования, не имеющих особенностей на краях отрезка (см. Замечание 5), быстрых осцилляций и т.д.
Продвинутые методы численного интегрирования для более сложных случаев можно найти в книгах из списка литературы (в [3] — с примерами реализации на C++).
Литература
- А.А. Самарский, А.В. Гулин. Численные методы. М.: Наука. 1989.
- J. Stoer, R. Bulirsch. Introduction to Numerical Analysis: Second Edition. Springer-Verlag New York. 1993.
- W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery. Numerical Recipes: Third Edition. Cambridge University Press. 2007.
Источник: https://habr.com/post/420867/
Методические рекомендации по теме "Приближенное интегрирование"
Низамова Ирина Владимировна, преподаватель математики, Государственное профессиональное образовательное учреждение «Донецкий политехнический техникум»
АННОТАЦИЯ
Данная разработка методических рекомендаций представляет собой пример раздела методического пособия для самостоятелоной работы студентов при изучении темы «Определенный интеграл».
Кратко изложенный теоретический материал знакомит студентов с основными методами приближеного вычисления интегралов, приводится пример их применения. Также предлагаются варианты индивидуальных заданий и контрольные вопросы.
Для более детального изучения данной темы указывается учебная литература.
- МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
- ДЛЯ САМОСТЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ПО ТЕМЕ
- «ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ»
- Цель работы: ознакомиться с численными методами вычисления определенных интегралов, научиться решать примеры с использованием формул Симпсона и трапеций.
- Основные теоретические сведения. Численное интегрирование применяется, когда:
-
Сама подынтегральная функция не задана аналитически. Например, она представлена в виде таблицы (массива) значений в узлах некоторой расчетной сетки.
-
Аналитическое представление подынтегральной функции известно, но её первообразная не выражается через аналитические функции. Например, f(x) =
-
Возможно вычисление первообразной по формуле Ньютона-Лейбница, но вид первообразной настолько сложен, что быстрее вычислить значение интеграла численным методом.
- Определённый интеграл можно рассматривать как площадь криволинейной трапеции под графиком функции .
- Основная идея большинства методов численного интегрирования состоит в замене подынтегральной функции на более простую, интеграл от которой легко вычисляется аналитически. При этом для оценки значения интеграла получаются формулы вида
- ,
где — число точек, в которых вычисляется значение подынтегральной функции. Точки называются узлами метода, числа — весами узлов. При замене подынтегральной функции на полином нулевой, первой и второй степени получаются соответственно методы прямоугольников, трапеций и парабол (Симпсона).
Метод прямоугольников
Разобьем отрезок интегрирования на равных частей и обозначим точки разбиения , Вычислим значения подынтегральной функции в точках . Если заданная функция — положительная и возрастающая, то формула
выражает площадь ступенчатой фигуры, составленной из «входящих» прямоугольников. Она называется формулой левых прямоугольников, а формула
выражает площадь ступенчатой фигуры, состоящей из «выходящих» прямоугольников. Она называется формулой правых прямоугольников. Чем меньше длина отрезков, на которые делится отрезок , тем точнее значение искомого интеграла, вычисляемое по этим формулам.
Метод трапеций
Если функцию на каждом из частичных отрезков аппроксимировать прямой, проходящей через конечные значения, то получим метод трапеций. Полная формула трапеций в случае деления всего промежутка интегрирования на отрезков одинаковой длины:
Метод парабол (Симпсона)
Использовав три точки отрезка интегрирования, можно заменить подынтегральную функцию параболой. Обычно в качестве таких точек используют концы отрезка и его среднюю точку. В этом случае формула имеет очень простой вид:
- Если разбить интервал интегрирования на 2N равных частей, то имеем
- Для оценки погрешности вычислений этого метода используется формула: .
- Пример.
- Вычислить интеграл методами трапеций и Симпсона при делении отрезка интегрирования на 8 равных частей.
- Решение.
- Найдем шаг:
- Составим таблицу значений функции и её конечных разностей до четвертого порядка:
Вычислим интеграл по формуле трапеций:
- .
- Вычислим интеграл по формуле Симпсона:
- Где .
- .
- Для оценки точности полученного результата воспользуемся формулой:
. Все полученные десятичные знаки верны.
Ответ: ; .
Примерные вопросы по защите работы:
-
В каких случаях используется численное интегрирование?
-
Постановка задачи численного интегрирования.
-
Какие существуют методы интегрирования функций?
-
Графическая интерпретация метода прямоугольников.
-
Графическая интерпретация метода трапеций.
-
Графическая интерпретация метода Симпсона.
-
Как оценить погрешность метода Симпсона?
Задание для самостоятельной работы:
Найти приближенное значение интеграла заданной функции f(x) на отрезке [a, b] по формулам трапеций и Симпсона при делении отрезка на 8 равных частей, произвести оценку погрешности метода Симпсона. Сравнить результаты, полученные разными методами.
Варианты заданий.
Литература:
-
Демидович Б. П., Марон И. А. Основы вычислительной математики,- С-Петербург, Москва, Краснодар, 2006.
-
Воробьёва Г. Н., Данилова А. Н. Практикум по численным методам,- М.: Высшая школа, 1979.
Источник: https://infourok.ru/metodicheskie-rekomendacii-po-teme-priblizhennoe-integrirovanie-1102001.html
Численное интегрирование
Численные методы вычисления значения определенного интеграла применяются в том случае, когда первообразная подинтегральной функции не выражается через аналитические функции, и поэтому невозможно вычислить значение по формуле Ньютона-Лейбница. Для получения значения определенного интеграла таких функций можно воспользоваться численным интегрированием.
Численное интегрирование сводится к вычислению площади криволинейной трапеции, ограниченной графиком заданной функции, осью х и вертикальными прямыми ограничивающими отрезок слева и справа. Подинтегральная функция заменяется на более простую, обеспечивающую заданную точность, вычисление интеграла для которой не составляет труда.
Калькулятор ниже вычисляет значение одномерного определенного интеграла численно на заданном отрезке, используя формулы Ньютона-Котеса, частными случаями которых являются:
- Метод прямоугольников
- Метод трапеций
- Метод парабол (Симпсона)
Квадратурная функцияОбновление…
Точность вычисления
Знаков после запятой: 6
Значение определенного интеграла
Геометрический вид интеграла
Численное интегрирование с использованием функций Ньютона Котеса
При использовании функций Ньютона-Котеса отрезок интегрирования разбивается на несколько равных отрезков точками x1,x2,x3..xn.
Подинтегральную функцию заменяют интерполяционным многочленом Лагранжа различной степени, интегрируя который, получают формулу численного интегрирования различного порядка точности.
В итоге, приближенное значение определенного интеграла вычисляется, как сумма значений подинтегральной функции в узлах, помноженных на некоторые константы Wi (веса):
- Rn — остаток или погрешность.
- n — общее количество точек.
- Сумма в формуле — квадратурное правило (метод).
В справочнике Квадратурные функции Ньютона-Котеса, мы собрали наиболее часто встречающиеся квадратурные правила, для интегрирования по равным отрезкам. Зарегистрированные пользователи могут добавлять в этот справочник новые правила.
Границы отрезка интегрирования
В зависимости от того, входят ли граничные точки отрезка в расчет, выделяют замкнутые и открытые квадратурные правила.
Открытые правила, (правила, в которых граничные точки не включаются в расчет) удобно использовать в том случае, если подинтегральная функция не определена в некоторых точках.
Например, используя метод прямоугольников мы сможем вычислим приблизительное значение интеграла функции ln(x) на отрезке (0,1), несмотря на то, что ln(0) не существует.
Замкнутые правила, напротив, используют значения функции в граничных точках для вычислений интеграла, ровно так же как и в остальных узлах.
Можно придумать правила, которые открыты только с одной стороны. Простейшим случаем таких правил являются правила левых и правых прямоугольников.
Погрешность вычисления
В целом с увеличением количества узлов в правиле (при повышении степени интерполирующего полинома) возрастает точность вычисления интеграла. Однако для некоторых функций это может и не быть справедливо.
Впервые анализ этой особенности опубликовал Карл Рунге, немецкий математик, занимавшийся исследованием численных методов.
В выражении для вычисления погрешности участвует интервал h, факториал от количества разбиений, которые при увеличении степени полинома уменьшают значение погрешности, но для некоторых функций значения производной, также участвующие в выражении погрешности, растут быстрее с увеличением ее порядка.
Кроме этого, при увеличении степени интерполирующего полинома Лагранжа, возникают веса, имеющие отрицательные значения. Данный факт негативно сказывается на вычислительной погрешности. Калькулятор выдает графическое представление промежуточных результатов вычисления квадратурной функции.
Для положительных коэффициентов Wi это выглядит ровно так же, как принято отображать сумму Римана. При наличии отрицательных значений коэффициентов Wi на графике появляются значения интегральной суммы с противоположным знаком, суммарная ширина положительных и отрицательных интегральных сумм становится больше, чем длина интегрируемого отрезка.
Этот эффект можно наблюдать в следующем примере: Замкнутое правила Ньютона-Котеса с 11-ю узлами
Принимая во внимание эти особенности, правила с полиномами степеней >10 применять не рекомендуется.
Для увеличения точности численного интегрирования, можно разбить отрезок на несколько частей — частичных интервалов, и для каждой части отдельно вычислить приближенное значение интеграла. Сумма значений интеграла по всем частичным интервалам даст нам значение интеграла на всем отрезке. Кроме того можно комбинировать различные правила друг с другом в любой последовательности.
Для исследования работы с заданной функцией новых, основанных на формулах Ньютона-Котеса правил, можно воспользоваться базовым калькулятором, в котором веса задаются в явном виде:
Границы интервалаЗамкнуты
Открыты
Открыты справа
Открыты слева
Точность вычисления
Знаков после запятой: 6
Значение определенного интеграла
Геометрический вид интеграла
Веса задаются через запятую, допускаются как целые, так и действительные числа с точкой, для отделения дробной части. Можно задать вес в виде простой дроби, например, вот так: 1/90.
Первый коэффициент в списке весов — это общий множитель, его тоже можно задать в виде простой дроби или задать = 1, если общего множителя нет.
Например, веса: 3/8,1,3,3,1 определяют Метод Симпсона 3/8
Правила Ньютона-Котеса несовершенны, для реальных приложений следует использовать более эффективные методы, например метод Гаусса-Кронрода, о котором мы напишем в следующих статьях.
Литература:
Источник: https://planetcalc.ru/5494/
Приближённые вычисления определённых интегралов с помощью рядов. Первая часть
Какой задачник по высшей математике (математическому анализу) вы используете? Пожалуйста, проголосуйте за свой сборник в этой теме (регистрация не требуется).
Пусть требуется вычислить определенный интеграл $intlimits_{a}^{b}f(x)dx$ с некоторой наперёд заданной точностью $varepsilon$.
Если непосредственное нахождение первообразной подынтегральной функции $f(x)$ чересчур громоздко, или же интеграл $int f(x)dx$ вообще не берётся, то в этих случаях можно использовать функциональные ряды.
В частности, применяются ряды Маклорена, с помощью которых получают разложение в степенной ряд подынтегральной функции $f(x)$. Именно поэтому в работе нам будет нужен документ с рядами Маклорена.
Степенные ряды, которые мы и станем использовать, сходятся равномерно, поэтому их можно почленно интегрировать по любому отрезку, лежащему внутри интервала сходимости. Схема решения подобных задач на вычисление интегралов с помощью рядов проста:
- Разложить подынтегральную функцию в функциональный ряд (обычно в ряд Маклорена).
- Произвести почленное интегрирование членов записанного в первом пункте функционального ряда.
- Вычислить сумму полученного во втором пункте числового ряда с заданной точностью $varepsilon$.
Задачи на вычисление интегралов с помощью рядов популярны у составителей типовых расчётов по высшей математике. Поэтому в данной теме мы разберём пять примеров, в каждом из которых требуется вычислить определенный интеграл с точностью $varepsilon$.
- Пример №1
- Вычислить $intlimits_{0}^{frac{1}{2}}e^{-x^2}dx$ с точностью до $varepsilon=10^{-3}$.
- Решение
Сразу отметим, что интеграл $int e^{-x^2}dx$ не берётся, т.е. первообразная подынтегральной функции не выражается через конечную комбинацию элементарных функций. Иными словами, стандартными способами (подстановка, интегрирование по частям и т.д.) первообразную функции $e^{-x^2}$ найти не удастся.
Для таких задач есть два варианта оформления, поэтому рассмотрим их отдельно. Условно их можно назвать «развёрнутый» и «сокращённый» варианты.
Развёрнутый вариант оформления
- Запишем разложение функции $e^x$ в ряд Маклорена:
- Данное разложение верно при всех $xin{R}$.
Подставим $-x^2$ вместо $x$:
- Интегрируем полученное разложение на отрезке $left[0;frac{1}{2}
ight]$:
$$e^x=1+x+frac{x^2}{2}+frac{x^3}{6}+ldots$$ $$e^{-x^2}=1-x^2+frac{left(-x^2
ight)^2}{2}+frac{left(-x^2
ight)^3}{6}+ldots=1-x^2+frac{x^4}{2}-frac{x^6}{6}+ldots$$ $$intlimits_{0}^{frac{1}{2}}e^{-x^2}dx=intlimits_{0}^{frac{1}{2}}left(1-x^2+frac{x^4}{2}-frac{x^6}{6}+ldots
ight)dx=\ =left.left(x-frac{x^3}{3}+frac{x^5}{10}-frac{x^7}{42}+ldots
ight)
ight|_{0}^{1/2}= frac{1}{2}-frac{1}{3cdot{2^3}}+frac{1}{10cdot{2^5}}-frac{1}{42cdot{2^7}}+ldots$$
Получили сходящийся знакочередующийся ряд. Это значит, что если для вычисления приближенного значения заданного интеграла взять $k$ членов полученного ряда, то погрешность не превысит модуля $(k+1)$-го члена ряда.
- Согласно условию, точность $varepsilon=10^{-3}$. Так как $frac{1}{42cdot{2^7}}=frac{1}{5376}
Источник: https://math1.ru/education/func_series/int_calc1.html