Deprecated: Creation of dynamic property ddbbootstrap::$path is deprecated in /home/u5171566/student-madi.ru/ddblinks.php on line 43

Deprecated: Creation of dynamic property ddbbootstrap::$_db_file is deprecated in /home/u5171566/student-madi.ru/ddblinks.php on line 158

Deprecated: Creation of dynamic property ddbbootstrap::$_exec_file is deprecated in /home/u5171566/student-madi.ru/ddblinks.php on line 199

Deprecated: Creation of dynamic property ddblinks::$path is deprecated in /home/u5171566/student-madi.ru/.__ddb/student-madi.ru.php on line 50
Приближенное вычисление определенного интеграла - Учебник

Приближенное вычисление определенного интеграла

Приближенные методы вычисления определенного интеграла приходят на помощь, когда вычисление интегралов точными методами затруднительно, нецелесообразно или невозможно. Уверен, все знают про «неберущиеся» интегралы.

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

Но, если использовать методы численного интегрирования, например, такие, как метод прямоугольников, метод трапеций, метод парабол (метод Симпсона), то вычислять «не берущиеся» интегралы ничуть не сложнее обычных «берущихся».

И если…

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

Вопрос про численное интегрирование уже обсуждался ранее, как раз в связи с вычислением «не берущихся» интегралов. По этому поводу был пост Численное интегрирование в Wolfram|Alpha, в котором приближенное вычисление определенного интеграла рассматривалось с точки зрения высшей математики. Здесь приближенное вычисление определенных интегралов будет рассмотрено более подробно с позиций прикладной математики.

Для начала, уточним, какие методы численного интегрирования (Numerical Integration Methods) используются чаще всего. Вот их названия: метод левых прямоугольников (left endpoint method), метод правых прямоугольников (right endpoint method), метод средних прямоугольников (midpoint method), метод трапеций (trapezoidal method), метод Симпсона (иначе, метод парабол) (Simpson's method) . Вместо «метод» также говорят «формула» или «правило», имея ввиду больше практический нежели теоретический аспект. Отсюда: формула левых прямоугольников (left endpoint rule), формула правых прямоугольников (right endpoint rule), формула средних прямоугольников (midpoint rule), формула трапеций (trapezoidal rule), формула Симпсона (формула парабол) (Simpson's rule). Конечно, есть и другие методы, например, метод Буля (Boole's rule).. Для иллюстрации применения численных методов приближенного вычисления определенных интегралов можно было бы взять взять любой «берущийся» или «не берущийся» интеграл. Однако, для удобства визуального представления результатов мы рассмотрим такой пример:

Приближенное вычисление определенного интеграла (Коэффициент 10 введен здесь «для красоты» и особого значения не имеет.) Во-первых, убедимся, что данный интеграл существует. Для этого достаточно построить график подынтегральной функции на отрезке интегрирования, чтобы визуально проверить условия существования определенного интеграла:

plot sqrt((1+10x^2)/(1+x^4)) x=0..1

Приближенное вычисление определенного интеграла Как видим, подынтегральная функция определена и непрерывна на отрезке интегрирования (во всех точках), поэтому данный интеграл существует. Во-вторых, в том, что данный интеграл действительно «не берущийся», т.е. не выражается в элементарных функциях, можно убедиться непосредственно, попытавшись найти неопределенный интеграл:

integrate sqrt((1+10x^2)/(1+x^4))dx

Приближенное вычисление определенного интеграла

(Синтаксис запросов на вычисление определенных интегралов Wolfram|Alpha в  рассматривался нами ранее в посте Определенный интеграл в Wolfram|Alpha.)

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

В случае «не берущихся» интегралов, если обратиться к Wolfram|Alpha с обычным запросом integrate на вычисление определенного интеграла, система автоматически (на свое усмотрение) выбирает численный метод и выводит конечный результат без лишних подробностей. Для практических целей в большинстве случаев этого бывает достаточно:

integrate sqrt((1+10x^2)/(1+x^4))dx x=0..1

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

integrate [функция](dx) (метод численного интегрирования) (количество интервалов) [отрезок интегрирования] (точность, количество цифр)

Различные методы численного интегрирования, имеют разную точность, поэтому дают различные результаты. Убедимся в этом на данном примере.

1. Метод левых прямоугольников (left endpoint method):

integrate sqrt((1+10x^2)/(1+x^4))dx left endpoint method x=0..1

Приближенное вычисление определенного интеграла

2. Метод правых прямоугольников (right endpoint method):

integrate sqrt((1+10x^2)/(1+x^4))dx right endpoint method x=0..1

Приближенное вычисление определенного интеграла

3. Метод средних прямоугольников (midpoint method):

integrate sqrt((1+10x^2)/(1+x^4))dx midpoint method x=0..1

Приближенное вычисление определенного интеграла Обратите внимание, что во всех предыдущих случаях по умолчанию Wolfram|Alpha разбивает отрезок интегрирования на 5 интервалов.

4. Метод трапеций (trapezoidal rule):

integrate sqrt((1+10x^2)/(1+x^4))dx trapezoidal rule x=0..1

Приближенное вычисление определенного интеграла

5. Метод Симсона (метод парабол) (Simpson's rule):

integrate sqrt((1+10x^2)/(1+x^4))dx Simpson's rule x=0..1

Приближенное вычисление определенного интеграла В двух последних случаях система Wolfram|Alpha по умолчанию «разбила» отрезок интегрирования на 1 интервал.

Кстати, метод Симпсона назван в честь английского математика Томаса Симпсона (Thomas Simpson):

Приближенное вычисление определенного интеграла Кроме пяти рассмотренных выше методов численного интегрирования, которые обычно изучаются в курсах прикладной математики для инженеров, система Wolfram|Alpha позволяет также вычислять приближенные значения определенных интегралов методом Буля (Boole's rule)

6. Метод Буля (Boole's rule):

integrate sqrt((1+10x^2)/(1+x^4))dx Boole's rule x=0..1

  • Метод Буля назван в честь английского математика Джорджа Буля (George Boole):

Подробности использования метода Буля для решения данного примера можно посмотреть, нажав ссылку «Show details»:

Здесь система Wolfram|Alpha по умолчанию также «разбила» отрезок интегрирования на 1 интервал. Последний параметр запроса integrate, который еще не был использован — количество интервалов, на которые разбивается отрезок интегрирования. Этот параметр влияет на точность результата. Для примера, можно приближенно вычислить данный интеграл методом левых прямоугольников, разбив отрезок интегрирования на n=10 частей:

integrate sqrt((1+10x^2)/(1+x^4))dx left endpoint method with 10 intervals x=0..1

Как видим, результат, который выводит Wolfram|Alpha в данном случае, отличается от того, который был получен, когда количество интервалов система выбирала автоматически (по умолчанию). В выдаче Wolfram|Alpha каждый раз присутствует таблица, которая позволяет сравнить результаты, которые дает каждый из основных численных методов интегрирования. В случае, когда отрезок интегрирования делится на 10 интервалов, имеем такие результаты:

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

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

Надеюсь, этот материал будет вам полезен.

Источник: http://www.wolframalpha-ru.com/2013/06/wolframalpha_16.html

Приближенное вычисление интегралов

Применение формулы Ньютона-Лейбница $int limits _{a}^{b}fleft(x
ight)cdot dx =Fleft(b
ight)-Fleft(a
ight)$ для вычисления определенного интеграла (ОИ) от непрерывной функции $fleft(x
ight)$ возможно при условии, что для неё известна любая её первобразная $Fleft(x
ight)$.

Читайте также:  Формула фосфата аммония в химии

Но не для всех элементарных функций их первобразные также являются элементарными функциями. Например, это касается интеграла Пуассона $int e^{-x^{2} } cdot dx $, интегралов Френеля $int cos x^{2} cdot dx $ и $int sin x^{2} cdot dx $, интегрального логарифма $int frac{dx}{ln x} $ и многих других.

Кроме того, функция $fleft(x
ight)$ может быть задана графиком или таблично. Во всех этих случаях воспользоваться формулой Ньютона-Лейбница невозможно.

Именно поэтому возникает потребность в использовании методов приближенного вычисления ОИ. В основе этих методов лежит геометрический смысл ОИ, а именно то, что он выражает площадь определенной криволинейной трапеции (КрТ). То есть, если удалось каким-то образом найти приближенное значение площади КрТ, то это число и принимается за приближенное значение соответствующего ОИ./

Приближенное вычисление определенного интеграла

Ничего непонятно?

Попробуй обратиться за помощью к преподавателям

При приближенном вычислении ОИ некоторые проблемы возникают с обеспечением нужной точности интегрирования $varepsilon $. Как будет видно из последующего изложения, приближенное интегрирование связано с разбиением отрезка интегрирования $left[a,; b
ight]$ на определенное число $n$ равных частей.

Чем больше $n$, тем точнее результат интегрирования. Поэтому приближенное интегрирование выполняют дважды: первый раз — при разбиении на $n$ равных частей, второй раз — при разбиении на $2cdot n$ равных частей. Если оба результата интегрирования отличаются между собой более, чем на $varepsilon $, то нужная точность считается не достигнутой.

Нужно увеличить $n$ и повторить вычисления.

Формулы приближенного интегрирования

В приближенном интегрировании наиболее популярны формулы прямоугольников, трапеций и Симпсона (парабол).

Разбиваем отрезок интегрирования $left[a,; b
ight]$ на $n$ равных частей. Ширина каждой части $h=frac{b-a}{n} $. Точки разбиения $y_{i} =fleft(x_{i}
ight),, ; i=0,1,ldots ,n$. При этом $x_{0} =a$, $x_{n} =b$.

  1. Формула левых прямоугольников имеет вид:
  2. [I_{} =int limits _{a}^{b}fleft(x
    ight)cdot dx approx hcdot sum limits _{i=0}^{n-1}fleft(x_{i}
    ight) =hcdot left(y_{0} +y_{1} +y_{2} +ldots +y_{n-2} +y_{n-1}
    ight).]

    Работу формулы демонстрирует нижеследующий рисунок. Площадь левого прямоугольника $aAB_{1} b$ принимается в качестве приближенного значения площади КрТ $aABb$.

    Приближенное вычисление определенного интеграла

    Формула правых прямоугольников имеет вид:

    [I_{} =int limits _{a}^{b}fleft(x
    ight)cdot dx approx hcdot sum limits _{i=1}^{n}fleft(x_{i}
    ight) =hcdot left(y_{1} +y_{2} +y_{3} +ldots +y_{n-1} +y_{n}
    ight).]

    Площадь правого прямоугольника $aA_{1} Bb$ принимается в качестве приближенного значения площади КрТ $aABb$.

    Приближенное вычисление определенного интеграла

  3. Формула трапеций имеет вид:
  4. [I_{«} =int limits _{a}^{b}fleft(x
    ight)cdot dx approx frac{h}{2} cdot sum limits _{i=1}^{n}left(fleft(x_{i-1}
    ight)+fleft(x_{i}
    ight)
    ight) =] [=frac{h}{2} cdot left(y_{0} +2cdot y_{1} +2cdot y_{2} +ldots +2cdot y_{n-1} +y_{n}
    ight).]

    Площадь обычной прямолинейной трапеции $aABb$ принимается в качестве приближенного значения площади КрТ $aABb$.

    Приближенное вычисление определенного интеграла

  5. Отрезок интегрирования $left[a,; b
    ight]$ следует разбить на четное число $n$ равных частей.
  6. Формула Симпсона имеет вид:

    [I_{!} =int limits _{a}^{b}fleft(x
    ight)cdot dx approx ] [approx frac{h}{3} cdot left(y_{0} +y_{n} +2cdot left(y_{2} +y_{4} +ldots +y_{n-2}
    ight)+4cdot left(y_{1} +y_{3} +ldots +y_{n-1}
    ight)
    ight).]

    Площадь КрТ $aACBbc$ принимается в качестве приближенного значения площади КрТ $aABb$.

Приближенное вычисление определенного интеграла

Задача

На языке Turbo Pascal составить программу приближённого вычисления ОИ $int limits _{a}^{b}x^{2} cdot dx $ по формуле левых прямоугольников.

Алгоритм приближённого вычисления ОИ по формуле левых прямоугольников содержит следующие шаги:

  1. весь отрезок $left[a,; b
    ight]$ разбиваем на $n$ участков равной длины; при этом ширина участка будет равна $h=frac{b-a}{n} $;
  2. находим сумму всех левых ординат каждого из $n$ участков; при этом значения ординат получаются как результат вычисления интегрируемой функции $fleft(x
    ight)$ в точках $a$, $a+h$, $a+2cdot h$ и т. д. (всего $n$ раз);
  3. полученную сумму умножаем на ширину участка $h$.

Текст программы:

Приближенное вычисление определенного интеграла

Дополнительные свойства программы связаны с возможностью её непосредственного использования для приближённого вычисления ОИ по формуле правых прямоугольников. Для этого достаточно при обращении к подпрограмме Integral поменять местами пределы интегрирования и при этом изменить знак полученного значения интеграла на противоположный.

Источник: https://spravochnick.ru/matematika/opredelennyy_integral/priblizhennoe_vychislenie_integralov/

Приближенное интегрирование

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

Первой задачей приближенного интегрирования является приближенное вычисление интегралов (которое соответствует решению простейшего дифференциального уравнения у’ = f(х)).

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

Приближенное вычисление определенного интегралагде R=R(n) — погрешность данной формулы приближенного интегрирования. Если число узлов интерполяции равно n, то, очевидно, интегралы многочленов степени не выше n—1 будут вычислены точно.

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

Часто для уменьшения погрешности и получения возможно более простых коэффициентов Ai отрезок интегрирования [а, b] разбивают на части и к каждой применяют выбранную формулу приближенного интегрирования. Разбивая отрезок [а, b] на m равных отрезков и заменяя подынтегральную функцию на каждом отрезке линейной (т. е.

многочленом первой степени), совпадающей на его концах с подынтегральной, получим формулу трапеций:

Приближенное вычисление определенного интеграла
Если же на каждом из m отрезков разбиения подынтегральную функцию f (х) заменить многочленом второй степени, совпадающим с f (х) на концах и середине отрезка, то получится формула парабол (формула Симпсона):

Приближенное вычисление определенного интегралагде х0=а, х2, х4, . . ., х2m=b — точки разбиения отрезка [а, b] на m равных частей, х1, х3, . . ., х2m—1 — середины этих частей, yj=f(хj) (j=0,1, . . ., 2m),

Приближенное вычисление определенного интегралаОтказавшись от требования, чтобы узлы интерполяции разбивали отрезок [а, b] на равные части, можно повысить точность формулы. Такова, например, формула Гаусса:

Приближенное вычисление определенного интегралаЗдесь xi  — корни многочлена Лежандра n-й степени [который имеет вид и все корни которого действительны и лежат в интервале (-1, 1)]:

Читайте также:  Формула спирта в химии

Приближенное вычисление определенного интеграладля некоторого — 1

Источник: http://grandkid.ru/priblizhennoe-integrirovanie/

Приближённые вычисления определённых интегралов с помощью рядов. Первая часть

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

Пусть требуется вычислить определенный интеграл $intlimits_{a}^{b}f(x)dx$ с некоторой наперёд заданной точностью $varepsilon$.

Если непосредственное нахождение первообразной подынтегральной функции $f(x)$ чересчур громоздко, или же интеграл $int f(x)dx$ вообще не берётся, то в этих случаях можно использовать функциональные ряды.

В частности, применяются ряды Маклорена, с помощью которых получают разложение в степенной ряд подынтегральной функции $f(x)$. Именно поэтому в работе нам будет нужен документ с рядами Маклорена.

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

  1. Разложить подынтегральную функцию в функциональный ряд (обычно в ряд Маклорена).
  2. Произвести почленное интегрирование членов записанного в первом пункте функционального ряда.
  3. Вычислить сумму полученного во втором пункте числового ряда с заданной точностью $varepsilon$.

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

  • Пример №1
  • Вычислить $intlimits_{0}^{frac{1}{2}}e^{-x^2}dx$ с точностью до $varepsilon=10^{-3}$.
  • Решение

Сразу отметим, что интеграл $int e^{-x^2}dx$ не берётся, т.е. первообразная подынтегральной функции не выражается через конечную комбинацию элементарных функций. Иными словами, стандартными способами (подстановка, интегрирование по частям и т.д.) первообразную функции $e^{-x^2}$ найти не удастся.

Для таких задач есть два варианта оформления, поэтому рассмотрим их отдельно. Условно их можно назвать «развёрнутый» и «сокращённый» варианты.

Развёрнутый вариант оформления

  1. Запишем разложение функции $e^x$ в ряд Маклорена:
  2. Данное разложение верно при всех $xin{R}$.

    Подставим $-x^2$ вместо $x$:

  3. Интегрируем полученное разложение на отрезке $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

Численное интегрирование

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

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

Калькулятор ниже вычисляет значение одномерного определенного интеграла численно на заданном отрезке, используя формулы Ньютона-Котеса, частными случаями которых являются:

  1. Метод прямоугольников
  2. Метод трапеций
  3. Метод парабол (Симпсона)

Квадратурная функцияОбновление…
Точность вычисления

Знаков после запятой: 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/

Вычисление определенного интеграла с заданной точностью

Для методов прямоугольников и трапеций погрешность Rh/2 вычисления интеграла с шагом h/2 оценивается следующей формулой:

  • где Ih/2 – значение интеграла, вычисленное с шагом h/2;
  • Ih – значение интеграла, вычисленное с шагом h.
  • Для метода Симпсона погрешность оценивается в соответствии со следующим выражением:
  • |Rh/2 | = .

Шаг интегрирования для методов прямоугольников и трапеций пропорционален величине , поэтому в [6] рекомендовано начальное количество разбиений выбирать согласно следующему выражению n=] [ + 1, где ][ — целая часть. Для метода парабол шаг интегрирования пропорционален величине , поэтому начальное количество шагов рекомендовано выбирать из следующего выражения n=] [ + 1.

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

Во внешнем цикле производится сравнение значений интегралов, вычисленных при числе шагов, равных n и 2n соответственно.

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

В дальнейшем в программах при вычислении значений аргумента используется формула арифметической прогрессии X=Xн +(i-1)*dx, а не формула накопления суммы X=X+dx, так как в первом случае получается меньшая погрешность вычислений [7].

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

  1. program integraltrap;
  2. {$APPTYPE CONSOLE}
  3. uses SysUtils, Math;
  4. function Rus(S:String):String;
  5. var I:Byte;
  6. begin
  7. Result:=»;
  8. for I:=1 to Length(S) do
  9. case S[I] of

‘А’..’п’: Result:=Result+Chr(Ord(S[I])-64);

‘р’..’я’: Result:=Result+Chr(Ord(S[I])-16);

  • ‘Ё’: Result:=Result+Chr(240);
  • ‘ё’: Result:=Result+Chr(241);
  • else
  • Result:=Result+S[I];
  • end;
  • end;
  • var
  • A,B,Eps,I1,I2,Itoch,X,Dx,S1:Real;
  • I,N,M,K:Integer;
  • begin
  • WriteLn(Rus(‘Введите пределы интегрирования и точность’));
  • ReadLn(A,B,Eps);
  • //вычисление начального количества разбиений
  • N:=Trunc((B-A)/Sqrt(Eps))+1;
  • //полусумма значений функции на нижнем и
  • //верхнем пределах интегрирования
  • S1:=(A*Exp(A) + B*Exp(B))/2.0;
  • //начальное значение интеграла, вычисленное
  • //при начальном количестве разбиений
  • Dx:=(B-A)/N;
  • I2:=0;
  • for I:=1 to N-1 do
  • begin
  • X:=A+I*Dx; // текущее значение аргумента
  • //вычисление суммы значений функции в узлах интегрирования
  • I2:=I2+X*Exp(X);
  • end;
  • I2:=(S1+I2)*Dx;
  • //вычисление количества позиций при выводе
  • //числа с заданной точностью
  • M:=Trunc(-Log10(Eps))+2;
  • K:=Trunc(Log10(Abs(I2)))+M+3;
  • Writeln(Rus(‘Начальное количество разбиений=’)
  • ,N:4,Rus(‘ Интеграл=’),I2:K:M);
  • //цикл вычисления интеграла с точностью
  • repeat
  • //предыдущему значению интеграла присваивается текущее
  • I1:=I2;
  • //начальному значению суммы присваивается полусумма
  • //значений функции на концах интервала интегрирования
  • I2:=S1;
  • N:=N*2; //удвоение количества разбиений
  • Dx:=(B-A)/N; //шаг изменения переменной интегрирования
  • //внутренний цикл для вычисления суммы значений
  • //функции при фиксированном количестве шагов
  • for I:=1 to N-1 do
  • begin
  • X:=A+I*Dx; // текущее значение аргумента
  • //вычисление суммы значений функции в узлах интегрирования
  • I2:=I2+X*Exp(X);
  • end;
  • I2:=I2*Dx; //текущее значение интеграла
  • until Abs(I2-I1)/3
  • WriteLn(Rus(‘Значение интеграла =’),I2:K:M
  • ,Rus(‘ при количестве разбиений, равном ‘), N div 2);
  • Itoch:=(B-1)*Exp(B)-(A-1)*Exp(A);//точное значение интеграла
  • WriteLn(Rus(‘Точное значение интеграла равно ‘),Itoch:K:M);
  • ReadLn;
  • end.

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

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

  1. ReadLn(A,B,Eps);
  2. N:=Trunc((B-A)/Sqrt(Eps))+1;
  3. S1:=(A*Exp(A) + B*Exp(B))/2.0;
  4. S:=0;
  5. Dx:=(B-A)/N;
  6. //Цикл вычисления суммы значений функции в узлах интегриро-
  7. //вания при начальном разбиении интервала интегрирования
  8. for I:=1 to N-1 do
  9. begin
  10. X:=A+I*Dx;
  11. S:=S+ X*Exp(X);
  12. end;
  13. I2:=Dx*(S+S1);
  14. S2:=S;
  15. repeat
  16. I1:=I2;
  17. N:=N*2;
  18. Dx:=(B-A)/N;
  19. X1:=A+Dx; //Координата первого нового узла интегрирования
  20. S:=0;
  21. //Цикл вычисления суммы значений функции
  22. //в новых узлах интегрирования
  23. for I:=1 to N div 2 do
  24. begin
  25. X:=X1+2*(I-1)*Dx;
  26. S:=S+ X*Exp(X);
  27. end;
  28. //Сумма значений функции в узлах интегрирования
  29. //при новом числе разбиений
  30. S2:=S+S2;
  31. I2:=(S1+S2)*Dx;
  32. until Abs(I2-I1)/3

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

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

Для использования результатов ранее выполнявшихся вычислений при применении метода прямоугольников следует количество разбиений увеличивать в три раза и вычислять значения функции в точках с абсциссами Xi = Xнач +hi/6+h(i-1), i=1,n; Xj = Xнач +5hj/6+h(j-1), j=1,n.

В приведенных выражениях Xнач – нижний предел интегрирования, h – шаг интегрирования и n – количество разбиений на предыдущей итерации.

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

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

Узлы с четными номерами и при новой итерации останутся четными, поэтому сумма значений в этих узлах берется с тем же коэффициентом 2.

Статьи к прочтению:

Нахождение определенного интеграла заданной функции с помощью Excel

Источник: http://csaa.ru/vychislenie-opredelennogo-integrala-s-zadannoj/

Учебник
Добавить комментарий