Как решить уравнение определенного интеграла

Интегралы – что это, как решать, примеры решений и объяснение для чайников

За 4 минуты вы узнаете, что такое интегрирование. Как интеграл связан с производными. Чем отличается определенный интеграл от неопределенного. 5 примеров вычисления интегралов

Почему вы не знаете, как решать интегралы

А для чего нужны интегралы? Попробуйте сами себе ответить на этот вопрос.

Объясняя тему интегралов, учителя перечисляют малополезные школьным умам области применения. Среди них:

  • вычисление площади фигуры.
  • вычисление массы тела с неравномерной плотностью.
  • определение пройденного пути при движении с непостоянной скоростью.
  • и др.

Связать все эти процессы не всегда получается, поэтому многие ученики путаются, даже при наличии всех базовых знаний для понимания интеграла.

Главная причина незнания – отсутствие понимания практической значимости интегралов.

Нужна помощь в написании работы?

Мы — биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Интеграл – что это?

Предпосылки. Потребность в интегрировании возникла в Древней Греции. В то время Архимед начал применять для нахождения площади окружности методы, похожие по сути на современные интегральные исчисления. Основным подходом для определения площади неровных фигур тогда был «Метод исчерпывания», который достаточно лёгок для понимания.

Суть метода. В данную фигуру вписывается монотонная последовательность других фигур, а затем вычисляется предел последовательности их площадей. Этот предел и принимался за площадь данной фигуры.

Метод исчерпывания для определения площади круга

В этом методе легко прослеживается идея интегрального исчисления, которая заключается в нахождении предела бесконечной суммы. В дальнейшем эта идея применялась учёными для решения прикладных задач астронавтики, экономики, механики и др.

Современный интеграл. Классическая теория интегрирования была сформулирована в общем виде Ньютоном и Лейбницем. Она опиралась на существовавшие тогда законы дифференциального исчисления. Для её понимания, необходимо иметь некоторые базовые знания, которые помогут математическим языком описать визуальные и интуитивные представления об интегралах.

Объясняем понятие «Интеграл»

Процесс нахождения производной называется дифференцированием, а нахождение первообразной – интегрированием.

Интеграл математическим языком – это первообразная функции (то, что было до производной) + константа «C».

Интеграл простыми словами – это площадь криволинейной фигуры. Неопределенный интеграл – вся площадь. Определенный интеграл – площадь в заданном участке.

Интеграл записывается так:

Каждая подынтегральная функция умножается на компонент «dx». Он показывает, по какой переменной осуществляется интегрирование. «dx» – это приращение аргумента. Вместо X может быть любой другой аргумент, например t (время).

Неопределённый интеграл

Неопределенный интеграл не имеет границ интегрирования.

Для решения неопределённых интегралов достаточно найти первообразную подынтегральной функции и прибавить к ней «C».

Определённый интеграл

В определенном интеграле на знаке интегрирования пишут ограничения «a» и «b». Они указаны на оси X в графике ниже.

Точки A и B на оси X – есть ограничение зоны определения интеграла

Для вычисления определенного интеграла необходимо найти первообразную, подставить в неё значения «a» и «b» и найти разность. В математике это называется формулой Ньютона-Лейбница:

Таблица интегралов для студентов (основные формулы)

Скачайте формулы интегралов, они вам еще пригодятся

Как вычислять интеграл правильно

Существует несколько простейших операций для преобразования интегралов. Вот основные из них:

Вынесение константы из-под знака интеграла

Разложение интеграла суммы на сумму интегралов

Если поменять местами a и b, знак изменится

Можно разбить интеграл на промежутки следующим образом

Это простейшие свойства, на основе которых потом будут формулироваться более сложные теоремы и методы исчисления.

Примеры вычисления интегралов

Решение неопределенного интеграла

Решение определенного интеграла

Базовые понятия для понимания темы

Чтобы вы поняли суть интегрирования и не закрыли страницу от непонимания, мы объясним ряд базовых понятий. Что такое функция, производная, предел и первообразная.

Функция – правило, по которому все элементы из одного множества соотносятся со всеми элементами из другого.

Производная – функция, описывающая скорость изменения другой функции в каждой конкретной точке. Если говорить строгим языком, – это предел отношения приращения функции к приращению аргумента. Он вычисляется вручную, но проще использовать таблицу производных, в которой собрано большинство стандартных функций.

Приращение – количественное изменение функции при некотором изменении аргумента.

Предел – величина, к которой стремиться значение функции, при стремлении аргумента к определённому значению.

Пример предела: допустим при X равном 1, Y будет равно 2. Но что, если X не равен 1, а стремится к 1, то есть никогда её не достигает? В этом случае y никогда не достигнет 2, а будет только стремиться к этой величине. На математическом языке это записывается так: limY(X), при X –> 1 = 2. Читается: предел функции Y(X), при x стремящемся к 1, равен 2.

Как уже было сказано, производная – это функция, описывающая другую функцию. Изначальная функция может быть производной для какой-либо другой функции. Эта другая функция называется первообразной.

Заключение

Найти интегралы не трудно. Если вы не поняли, как это делать, прочитайте статью еще раз. Со второго раза становится понятнее. Запомните! Решение интегралов сводится к простым преобразованиям подынтегральной функции и поиска её в таблице интегралов.

Если текстовое объяснение вам не заходит, посмотрите видео о смысле интеграла и производной:

Определённый интеграл и методы его вычисления

В каждой главе будут и задачи для самостоятельного решения, к которым можно посмотреть ответы.

Понятие определённого интеграла и формула Ньютона-Лейбница

Определённым интегралом от непрерывной функции f(x) на конечном отрезке [a, b] (где ) называется приращение какой-нибудь её первообразной на этом отрезке. (Вообще, понимание заметно облегчится, если повторить тему неопределённого интеграла) При этом употребляется запись

Как видно на графиках внизу (приращение первообразной функции обозначено ), определённый интеграл может быть как положительным, так и отрицательным числом (Вычисляется как разность между значением первообразной в верхнем пределе и её же значением в нижнем пределе, т. е. как F(b) — F(a)).

Числа a и b называются соответственно нижним и верхним пределами интегрирования, а отрезок [a, b] – отрезком интегрирования.

Таким образом, если F(x) – какая-нибудь первообразная функция для f(x), то, согласно определению,

(38)

Равенство (38) называется формулой Ньютона-Лейбница. Разность F(b) – F(a) кратко записывают так:

Поэтому формулу Ньютона-Лейбница будем записывать и так:

(39)

Докажем, что определённый интеграл не зависит от того, какая первообразная подынтегральной функции взята при его вычислении. Пусть F(x) и Ф(х) – произвольные первообразные подынтегральной функции. Так как это первообразные одной и той же функции, то они отличаются на постоянное слагаемое: Ф(х) = F(x) + C. Поэтому

Тем самым установлено, что на отрезке [a, b] приращения всех первообразных функции f(x) совпадают.

Таким образом, для вычисления определённого интеграла необходимо найти любую первообразную подынтегральной функции, т.е. сначала следует найти неопределённый интеграл. Постоянная С из последующих вычислений исключается. Затем применяется формула Ньютона-Лейбница: в первообразную функцию подставляется значение верхнего предела b , далее — значение нижнего предела a и вычисляется разность F(b) — F(a) . Полученное число и будет определённым интегралом. .

При a = b по определению принимается

Для того чтобы потренироваться в нахождении определённых интегралов, потребуется таблица основных неопределённых интегралов и пособие «Действия со степенями и корнями«.

Пример 1. Вычислить определённый интеграл

Решение. Сначала найдём неопределённый интеграл:

Применяя формулу Ньютона-Лейбница к первообразной

(при С = 0), получим

Однако при вычислении определённого интеграла лучше не находить отдельно первообразную, а сразу записывать интеграл в виде (39).

Пример 2. Вычислить определённый интеграл

Решение. Используя формулу

Найти определённый интеграл самостоятельно, а затем посмотреть решение

Пример 3. Найти определённый интеграл

.

Пример 4. Найти определённый интеграл

.

Свойства определённого интеграла

Теорема 1. Определённый интеграл с одинаковыми пределами интегрирования равен нулю, т.е.

Это свойство содержится в самом определении определённого интеграла. Однако его можно получить и по формуле Ньютона-Лейбница:

Теорема 2. Величина определённого интеграла не зависит от обозначения переменной интегрирования, т.е.

(40)

Пусть F(x) – первообразная для f(x). Для f(t) первообразной служит та же функция F(t), в которой лишь иначе обозначена независимая переменная. Следовательно,

На основании формулы (39) последнее равенство означает равенство интегралов

Теорема 3. Постоянный множитель можно выносить за знак определённого интеграла, т.е.

(41)

Теорема 4. Определённый интеграл от алгебраической суммы конечного числа функций равен алгебраической сумме определённых интегралов от этих функций, т.е.

(42)

Теорема 5. Если отрезок интегрирования разбит на части, то определённый интеграл по всему отрезку равен сумме определённых интегралов по его частям, т.е. если

(43)

Теорема 6. При перестановке пределов интегрирования абсолютная величина определённого интеграла не меняется, а изменяется лишь его знак, т.е.

(44)

Теорема 7 (теорема о среднем). Определённый интеграл равен произведению длины отрезка интегрирования на значение подынтегральной функции в некоторой точке внутри его, т.е.

(45)

Теорема 8. Если верхний предел интегрирования больше нижнего и подынтегральная функция неотрицательна (положительна), то и определённый интеграл неотрицателен (положителен), т.е. если

Теорема 9. Если верхний предел интегрирования больше нижнего и функции и непрерывны, то неравенство

можно почленно интегрировать, т.е.

(46)

Свойства определённого интеграла позволяют упрощать непосредственное вычисление интегралов.

Пример 5. Вычислить определённый интеграл

Используя теоремы 4 и 3, а при нахождении первообразных – табличные интегралы (7) и (6), получим

Определённый интеграл с переменным верхним пределом

Пусть f(x) – непрерывная на отрезке [a, b] функция, а F(x) – её первообразная. Рассмотрим определённый интеграл

(47)

,

а через t обозначена переменная интегрирования, чтобы не путать её с верхней границей. При изменении х меняется и опредёленный интеграл (47), т.е. он является функцией верхнего предела интегрирования х, которую обозначим через Ф(х), т.е.

(48)

Докажем, что функция Ф(х) является первообразной для f(x) = f(t). Действительно, дифференцируя Ф(х), получим

Функция Ф(х) – одна из бесконечного множества первообразных для f(x), а именно та, которая при x = aобращается в нуль. Это утверждение получается, если в равенстве (48) положить x = aи воспользоваться теоремой 1 предыдущего параграфа.

Вычисление определённых интегралов методом интегрирования по частям и методом замены переменной

При выводе формулы интегрирования по частям было получено равенство u dv = d (uv) – v du. Проинтегрировав его в пределах от a до b и учитывая теорему 4 параграфа этой статьи о свойствах определённого интеграла, получим

Как это следует из теоремы 2 параграфа о свойствах неопределённого интеграла, первый член в правой части равен разности значений произведения uv при верхнем и нижнем пределах интегрирования. Записав эту разность кратко в виде

получаем формулу интегрирования по частям для вычисления определенного интеграла:

(49)

Пример 6. Вычислить определённый интеграл

Решение. Интегрируем по частям, полагая u = ln x , dv = dx ; тогда du = (1/x)dx , v = x . По формуле (49) находим

Найти определённый интеграл по частям самостоятельно, а затем посмотреть решение

Пример 7. Найти определённый интеграл

.

Пример 8. Найти определённый интеграл

.

Перейдём к вычислению определённого интеграла методом замены переменной. Пусть

где, по определению, F(x) – первообразная для f(x). Если в подынтегральном выражении произвести замену переменной

то в соответствии с формулой (16) можно записать

В этом выражении

первообразная функция для

Пусть α и β – значения переменной t , при которых функция

принимает соответственно значения aи b, т.е.

Но, согласно формуле Ньютона-Лейбница, разность F(b) – F(a) есть

(50)

Это и есть формула перехода к новой переменной под знаком определённого интеграла. С её помощью определённый интеграл

после замены переменной

преобразуется в определённый интеграл относительно новой переменной t. При этом старые пределы интегрирования a и b заменяются новыми пределами и . Чтобы найти новые пределы, нужно в уравнение

поставить значения x = aи x = b, т.е. решить уравнения

относительно и . После нахождения новых пределов интегрирования вычисление определённого интеграла сводится к применению формулы Ньютона-Лейбница к интегралу от новой переменной t. В первообразной функции, которая получается в результате нахождения интеграла, возвращаться к старой переменной нет необходимости.

При вычислении определённого интеграла методом замены переменной часто бывает удобно выражать не старую переменную как функцию новой, а, наоборот, новую – как функцию старой.

Пример 9. Вычислить определённый интеграл

Решение. Произведём замену переменной, полагая

Тогда dt = 2x dx , откуда x dx = (1/2) dt , и подынтегральное выражение преобразуется так:

Найдём новые пределы интегрирования. Подстановка значений x = 4 и x = 5 в уравнение

Используя теперь формулу (50), получим

После замены переменной мы не возвращались к старой переменной, а применили формулу Ньютона-Лейбница к полученной первообразной.

Найти определённый интеграл заменой переменной самостоятельно, а затем посмотреть решение

Пример 10. Найти определённый интеграл

.

Пример 11. Найти определённый интеграл

.

Вычисление определённых интегралов: базовые алгоритмы


В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают «под капотом», и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.

Определение интеграла

Интегралом (по Риману) от функции на отрезке называется следующий предел:

где — мелкость разбиения, , , — произвольное число на отрезке .

Если интеграл от функции существует, то значение предела одно и то же вне зависимости от разбиения, лишь бы оно было достаточно мелким.

Более наглядно геометрическое определение — интеграл равен площади криволинейной трапеции, ограниченной осью 0x, графиком функции и прямыми x = a и x = b (закрашенная область на рисунке).

Квадратурные формулы

Определение интеграла (1) можно переписать в виде

где — весовые коэффициенты, сумма которых должна быть равна 1, а сами коэффициенты — стремиться к нулю при увеличении числа точек, в которых вычисляется функция.

Выражение (2) — основа всех квадратурных формул (т.е. формул для приближенного вычисления интеграла). Задача состоит в том, чтобы выбрать точки и веса таким образом, чтобы сумма в правой части приближала требуемый интеграл как можно точнее.

Вычислительная задача

Задана функция , для которой есть алгоритм вычисления значений в любой точке отрезка (имеются в виду точки, представимые числом с плавающей точкой — никаких там функций Дирихле!).

Требуется найти приближённое значение интеграла .
Решения будут реализованы на языке Python 3.6.

Для проверки методов используется интеграл .

Кусочно-постоянная аппроксимация

Идейно простейшие квадратурные формулы возникают из применения выражения (1) «в лоб»:

Т.к. от метода разбиения отрезка точками и выбора точек значение предела не зависит, то выберем их так, чтобы они удобно вычислялись — например, разбиение возьмём равномерным, а для точек вычисления функции рассмотрим варианты: 1) ; 2) ; 3) .

Получаем методы левых прямоугольников, правых прямоугольников и прямоугольников со средней точкой, соответственно.

Для анализа производительности квадратурных формул построим график погрешности в координатах «число точек — отличие численного результата от точного».

Что можно заметить:

  1. Формула со средней точкой гораздо точнее, чем с правой или левой точками
  2. Погрешность формулы со средней точкой падает быстрее, чем у двух остальных
  3. При очень мелком разбиении погрешность формулы со средней точкой начинает возрастать
    Первые два пункта связаны с тем, что формула прямоугольников со средней точкой имеет второй порядок аппроксимации, т.е. , а формулы правых и левых прямоугольников — первый порядок, т.е. .
    Возрастание погрешности при измельчении шага интегрирования связано с нарастанием погрешности округления при суммировании большого числа слагаемых. Эта ошибка растёт как , что не даёт при интегрировании достигнуть машинной точности.
    Вывод: методы прямоугольников с правой и левой точками имеют низкую точность, которая к тому же медленно растёт с измельчением разбиения. Поэтому они имеют смысл разве что в демонстрационных целях. Метод прямоугольников со средней точкой имеет более высокий порядок аппроксимации, что даёт ему шансы на использование в реальных приложениях (об этом чуть ниже).

Кусочно-линейная аппроксимация

Следующий логический шаг — аппроксимировать интегрируемую функцию на каждом из подотрезков линейной функцией, что даёт квадратурную формулу трапеций:


Иллюстрация метода трапеций для n=1 и n=2.

В случае равномерной сетки длины всех отрезков разбиения равны, и формула имеет вид

Построив график ошибки от числа точек разбиения, убеждаемся, что метод трапеций тоже имеет второй порядок аппроксимации и вообще даёт результаты, слабо отличающиеся от метода прямоугольников со средней точкой (в дальнейшем — просто метод прямоугольников).

Контроль точности вычисления

Задание в качестве входного параметра числа точек разбиения не слишком практично, поскольку обычно требуется вычислить интеграл не с заданной плотностью разбиения, а с заданной погрешностью. Если подынтегральная функция известна наперёд, то можно оценить погрешность заранее и выбрать такой шаг интегрирования, чтобы заданная точность заведомо достигалась. Но так редко бывает на практике (и вообще, не проще ли при известной наперёд функции и сам интеграл протабулировать наперёд?), поэтому необходима процедура автоматической подстройки шага под заданную погрешность.

Как это реализовать? Один из простых методов оценки погрешности — правило Рунге — разность значений интегралов, рассчитанных по n и 2n точкам, даёт оценку погрешности: . Метод трапеций удобнее для удвоения мелкости разбиения, чем метод прямоугольников с центральной точкой. При расчёте методом трапеций для удвоения числа точек нужны новые значения функции только в серединах отрезков предыдущего разбиения, т.е. предыдущее приближение интеграла можно использовать для вычисления следующего.

Метод прямоугольников не требует вычислять значения функции на концах отрезка. Это означает, что его можно использовать для функций, имеющих на краях отрезка интегрируемые особенности (например, sinx/x или x -1/2 от 0 до 1). Поэтому показанный далее метод экстраполяции будет работать точно так же и для метода прямоугольников. Отличие от метода трапеций лишь в том, что при уменьшении шага вдвое отбрасывается результат предыдущих вычислений, однако можно утроить число точек, и тогда предыдущее значение интеграла также можно использовать для вычисления нового. Формулы для экстраполяции в этом случае необходимо скорректировать на другое соотношение шагов интегрирования.

Отсюда получаем следующий код для метода трапеций с контролем точности:

С таким подходом подынтегральная функция не будет вычисляться по нескольку раз в одной точке, и все вычисленные значения используются для окончательного результата.

Но нельзя ли при том же количестве вычислений функции добиться более высокой точности? Оказывается, что можно, есть формулы, работающие точнее метода трапеций на той же самой сетке.

Кусочно-параболическая аппроксимация

Следующим шагом аппроксимируем функцию элементами парабол. Для этого требуется, чтобы число отрезков разбиения было чётным, тогда параболы могут быть проведены через тройки точек с абсциссами <(x0=a, x1, x2), (x2, x3, x4), . (xn-2, xn-1, xn=b)>.


Иллюстрация кусочно-параболического приближения на 3 и 5 точках (n=2 и n=3).

Приближая интеграл от функции на каждом из отрезков [xk;xk+2] интегралом от параболической аппроксимации на этом отрезке и считая точки равномерно распределенными (xk+1=xk+h), получаем формулу Симпсона:

Из формулы (4) напрямую получается «наивная» реализация метода Симпсона:

Для оценки погрешности можно использовать точно так же вычисление интеграла с шагами h и h/2 — но вот незадача, при вычислении интеграла с более мелким шагом результат предыдущего вычисления придётся отбросить, хотя половина новых вычислений функции будет в тех же точках, что и раньше.

Бесполезной траты машинного времени, к счастью, можно избежать, если реализовать метод Симпсона более хитроумным образом. Присмотревшись повнимательнее, заметим, что интеграл по формуле Симпсона может быть представлен через два интеграла по формуле трапеций с разными шагами. Яснее всего это видно на базовом случае аппроксимации интеграла по трём точкам :

Таким образом, если реализовать процедуру уменьшения шага вдвое и хранить два последних вычисления методом трапеций, метод Симпсона с контролем точности реализуется более эффективно.

Сравним эффективность метода трапеций и парабол:

Как видим, обоими методами ответ можно получть с достаточно высокой точностью, но количество вызовов подынтегральной функции разительно отличается — метод более высокого порядка эффективнее в 32 раза!

Построив график погрешности интегрирования от числа шагов, можно убедиться, что порядок аппроксимации формулы Симпсона равен четырём, т.е. ошибка численного интегрирования (а интегралы от кубических многочленов с помощью этой формулы вычисляются с точностью до ошибок округления при любом чётном n>0!).

Отсюда и возникает такой рост эффективности по сравнению с простой формулой трапеций.

Что дальше?

Дальнейшая логика повышения точности квадратурных формул, в целом, понятна — если функцию продолжать приближать многочленами всё более высокой степени, то и интеграл от этих многочленов будет всё точнее приближать интеграл от исходной функции. Этот подход называется построением квадратурных формул Ньютона-Котеса. Известны формулы вплоть до 8 порядка аппроксимации, но выше среди весовых коэффициентов wi в (2) появляются знакопеременные члены, и формулы при вычислениях теряют устойчивость.

Попробуем пойти другим путём. Ошибка квадратурной формулы представляется в виде ряда по степеням шага интегрирования h. Замечательное свойство метода трапеций (и прямоугольников со средней точкой!) в том, что для неё этот ряд состоит только из чётных степеней:

На нахождении последовательных приближений к этому разложению основана экстраполяция Ричардсона: вместо того, чтобы приближать подынтегральную функцию многочленом, по рассчитанным приближениям интеграла строится полиномиальная аппроксимация, которая при h=0 должна давать наилучшее приближение к истинному значению интеграла.

Разложение ошибки интегрирования по чётным степеням шага разбиения резко ускоряет сходимость экстраполяции, т.к. для аппроксимации порядка 2n нужно всего n значений интеграла методом трапеций.

Если считать, что каждое последующее слагаемое меньше предыдущего, то можно последовательно исключать степени h, имея приближения интеграла, рассчитанные с разными шагами. Поскольку приведённая реализация легко позволяет дробить разбиение вдвое, удобно рассматривать формулы для шагов h и h/2.

Легко показать, что исключение старшего члена погрешности формулы трапеций в точности даст формулу Симпсона:

Повторяя аналогичную процедуру для формулы Симпсона, получаем:

Если продолжить, вырисовывается такая таблица:

2 порядок4 порядок6 порядок.
I0,0
I1,0I1,1
I2,0I2,1I2,2
...

В первом столбце стоят интегралы, вычисленные методом трапеций. При переходе от верхней строки вниз разбиение отрезка становится вдвое мельче, а при переходе от левого столбца вправо повышается порядок аппроксимации интеграла (т.е. во втором столбце находятся интегралы по методу Симпсона и т.д.).

Элементы таблицы, как можно вывести из разложения (5), связаны рекуррентным соотношением:

Погрешность приближения интеграла можно оценить по разности формул разных порядков в одной строке, т.е.

Применение экстраполяции Ричардсона вместе с интегрированием методом трапеций называется методом Ромберга. Если метод Симпсона учитывает два предыдущих значения по методу трапеций, то метод Ромберга использует все ранее вычисленные методом трапеций значения для получения более точной оценки интеграла.

Дополнительный метод добавляется в класс Quadrature

Проверим, как работает аппроксимация высокого порядка:

Убеждаемся, что, по сравнению с методом парабол, число вызовов подынтегральной функции снизилось ещё в 8 раз. При дальнейшем увеличении требуемой точности преимущества метода Ромберга проявляются ещё заметнее:

Некоторые замечания

Замечание 1. Количество вызовов функции в этих задачах характеризует число суммирований при вычислении интеграла. Уменьшение числа вычислений подынтегрального выражения не только экономит вычислительные ресурсы (хотя при более оптимизированной реализации и это тоже), но и уменьшает влияние погрешностей округления на результат. Так, при попытке вычислить интеграл тестовой функции метод трапеций зависает при попытке достигнуть относительной точности 5×10 -15 , метод парабол — при желаемой точности 2×10 -16 (что является пределом для чисел в двойной точности), а метод Ромберга справляется с вычислением тестового интеграла вплоть до машинной точности (с ошибкой в младшем бите). То есть, повышается не только точность интегрирования при заданном числе вызовов функции, но и предельно достижимая точность вычисления интеграла.

Замечание 2. Если метод сходится при задании некоторой точности, это не означает, что вычисленное значение интеграла имеет ту же самую точность. В первую очередь, это относится к случаям, когда задаваемая погрешность близка к машинной точности.

Замечание 3. Хотя метод Ромберга для ряда функций работает почти магическим образом, он предполагает наличие у подынтегральной функции ограниченных производных высоких порядков. Это значит, что для функций с изломами или разрывами он может оказаться хуже простых методов. Например, проинтегрируем f(x)=|x|:

Замечание 4. Может показаться, что чем выше порядок аппроксимации, тем лучше. На самом деле, лучше ограничить число столбцов таблицы Ромберга на уровне 4-6. Чтобы понять это, посмотрим на формулу (6). Второе слагаемое представляет собой разность двух последовательных элементов j-1-го столбца, поделенную на примерно 4 j . Т.к. в j-1-м столбце находятся аппроксимации интеграла порядка 2j, то сама разность имеет порядок (1/ni) 2j

4 —ij . C учётом деления получается

7 второе слагаемое в (6) теряет точность после приведения порядков при сложении чисел с плавающей точкой, и повышение порядка аппроксимации может вести к накоплению ошибки округления.

Замечание 5. Желающие могут ради интереса применить описанные методы для нахождения интеграла и эквивалентного ему . Как говорится, почувствуйте разницу.

Заключение

Представлено описание и реализация базовых методов численного интегрирования функций на равномерной сетке. Продемонстрировано, как с помощью несложной модификации получить на базе метода трапеций класс квадратурных формул по методу Ромберга, что значительно ускоряет сходимость численного интегрирования. Метод хорошо работает для интегрирования «обычных» функций, т.е. слабо меняющихся на отрезке интегрирования, не имеющих особенностей на краях отрезка (см. Замечание 5), быстрых осцилляций и т.д.

Продвинутые методы численного интегрирования для более сложных случаев можно найти в книгах из списка литературы (в [3] — с примерами реализации на C++).


источники:

http://function-x.ru/integral4.html

http://habr.com/ru/post/420867/