- •2. Решение нелинейных уравнений
- •1. Машинная арифметика и ошибки вычислений.
- •2. Решение нелинейных уравнений.
- •В уравнении
- •3. Численное интегрирование.
- •Результаты численного интегрирования тестовой задачи.
- •3.6. Адаптивные программы.
- •При решении системы из двух уравнений обычно применяют метод Крамера, согласно которому корни уравнений находятся по отношению двух определителей
- •Неизвестные параметры находим подстановкой
- •8. Решение Обыкновенных дифференциальных уравнений.
3. Численное интегрирование.
3.1. Постановка задачи.
Численное значение определенного интеграла определяется по формуле
,
где a, b – пределы интегрирования;f(x) – подинтегральная функция;
F(x) – первообразная подинтегральной функцииf(x).
В практических задачах достаточно редко удается найти точное аналитическое решение, поэтому приходится прибегать к приближенному численному интегрированию. Для этого обычно заменяют функцию f(x) на близкую к ней и совпадающую с ней в ряде точек функцию(x), для которой можно найти аналитическое решение. Поскольку на широком интервале [a,b] такую функцию подобрать сложно, то исходный интервал разбивают на несколько более узких и вычисляют общий интеграл как сумму интегралов по узким интервалам.
Наиболее часто функцию f(x) заменяют алгебраическим многочленом
.
Порядок многочлена определяется максимальной степенью при параметре x. Обычно ограничиваются следующими аппроксимациями:
- нулевая степень;
- первая степень;
- вторая степень.
3.2. Метод прямоугольников.
Определенный интеграл функции f(x) на отрезке [a,b] можно представить как площадь под кривой f(x), ограниченной пределами интегрирования и осью абсцисс. Разобьем отрезок [a,b] на n отрезков одинаковой длины
.
В результате получим набор равноудаленных друг от друга точек . Рассмотрим один отрезок [xi-1,xi].
Для аппроксимации функции f(x) будем использовать полином нулевой степени , где- некоторая постоянная величина, ограниченная значениямиf(xi-1) и f(xi). Если принять, что величина равна значениюf(xi-1) на левом крае отрезка, то площадь криволинейной трапеции будет приблизительно равна площади заштрихованного на рис.3.1.а прямоугольника
.
Сумма площадей всех прямоугольников даст приближенное значение интеграла:
Это формула левых прямоугольников.
В качестве величины можно взять значение функции на правой границе отрезкаf(xi). Площадь заштрихованного прямоугольника на рис.3.1.б будет равна
,
а значение интеграла:
. (3.2)
Это формула правых прямоугольников.
Если вычислять значение функции не на краях, а в середине интервала, то, согласно рис.3.1.в, можно ожидать увеличения точности, поскольку завышенные значения площади по сравнению с истинными на одной стороне прямоугольника компенсируются заниженными значениями на другой стороне. Площадь заштрихованного прямоугольника будет равна
,
а величина интеграла:
. (3.3)
Это формула средних прямоугольников.
Блок-схема метода прямоугольников с заданным количеством разбиений приведена на рис. 3.2.
Для начала расчета задаются границы интегрирования [a,b] и количество подинтервалов n, на которые разбивается основной интервал. Затем в соответствии с выбранным методом интегрирования суммируются значения функции на каждом из подинтервалов. Поскольку длины подинтервалов равны между собой, то величину x целесообразно вынести за знак суммы и умножить на эту величину окончательную сумму значений функций.
Сумма длин подинтервалов точно равна общей длине интервала интегрирования, поэтому в этом алгоритме не нужен контроль за совпадением концов последнего подинтервала и всего интервала.
В некоторых случаях более удобно задавать не количество разбиений, а шаг интегрирования x. При этом величина x может быть не кратной длине интервала интегрирования, поэтому на последнем шаге необходима проверка совпадения длин и при необходимости корректировка величины x. Поскольку x может измениться, то его нельзя выносить за знак суммы.
Блок-схема метода приведена на рис.3.3.
3.3. Метод трапеций.
Если для аппроксимации функции f(x) взять полином первой степени и поставить условие, чтобы значения функцийf(x) и (x) совпадали на концах подинтервалов, то заштрихованная площадь на рис.3.4. будет равна
,
а вся площадь под кривой, соответствующая значению определенного интеграла,
. (3.4)
Это формула трапеций.
Вычисления по методу трапеций также могут быть организованы как с заданным количеством подинтервалов n, так и с заданной величиной шагаx. В блок-схемах алгоритмов на рис.3.2 и рис.3.3 изменится только узел вычисления интегральной суммы:
или, например, организован цикл:
Метод трапеций удобно применять, когда подинтегральная функция задана табличным способом и известны значения функции только на границах подинтервалов.
3.4. Метод Симпсона.
Возьмем для аппроксимации функции f(x) многочлен второй степени . Чтобы определить коэффициенты a,b,c, необходимо на интервале аппроксимации задать три точки. Выберем шаг интегрирования x и вычислим значения функции на концах интервала и в его середине. Обозначим, как это показано на рис.3.5, значения аргумента через x0, x1, x2 и, соответственно, значения функции через f0, f1, f2. Половину шага интегрирования обозначим как .
Уравнение параболы, проходящей через три точки, можно записать в виде
.
.
Для всего интервала интегрирования будем иметь:
, (3.5)
где .
Это формула Симпсона.
Как и для рассмотренных ранее методов, вычисления интегралов по формуле Симпсона могут быть по блок-схемам рис.3.2 или рис.3.3.
3.5. Погрешность вычислений различных методов.
Точное значение определенного интеграла можно представить в виде
,
где Siмет - площадь элементарной фигуры (прямоугольника, прямолинейной или криволинейной трапеции), вычисленная по какому-либо методу; Rмет – погрешность вычисления этого метода.
С увеличением количества разбиений n возрастает количество элементарных фигур, при этом ширина их уменьшается, а ломаная линия, ограничивающая площадь фигур сверху, более тесно приближается к графику функции f(x). В результате этого сумма площадей элементарных фигур становится ближе к площади криволинейной трапеции, поэтому можно считать, что при достаточно большом n эта сумма дает приближенное значение определенного интеграла.
Для оценки влияния количества разбиений или, что то же самое, длины шага интегрирования на погрешность вычислений в качестве тестовой задачи в табл.3.1. приведены результаты расчета значения определенного интеграла
различными методами, точное значение которого до шестого знака после запятой равно 2,718282.
Таблица 3.1