
- •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.а прямоугольника
.
Сумма площадей всех прямоугольников даст приближенное значение интеграла:
. (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.
Половину шага интегрирования обозначим
как
.
Уравнение параболы, проходящей через три точки, можно записать в виде
.
,
при интегрировании этой функции в
пределах отx0
до x0+2h
после преобразований получим:
.
Для всего интервала интегрирования будем иметь:
, (3.5)
где
.
Это формула Симпсона.
Как и для рассмотренных ранее методов, вычисления интегралов по формуле Симпсона могут быть по блок-схемам рис.3.2 или рис.3.3.
3.5. Погрешность вычислений различных методов.
Точное значение определенного интеграла можно представить в виде
,
где Siмет - площадь элементарной фигуры (прямоугольника, прямолинейной или криволинейной трапеции), вычисленная по какому-либо методу; Rмет – погрешность вычисления этого метода.
С увеличением количества разбиений n возрастает количество элементарных фигур, при этом ширина их уменьшается, а ломаная линия, ограничивающая площадь фигур сверху, более тесно приближается к графику функции f(x). В результате этого сумма площадей элементарных фигур становится ближе к площади криволинейной трапеции, поэтому можно считать, что при достаточно большом n эта сумма дает приближенное значение определенного интеграла.
Для оценки влияния количества разбиений или, что то же самое, длины шага интегрирования на погрешность вычислений в качестве тестовой задачи в табл.3.1. приведены результаты расчета значения определенного интеграла
различными методами, точное значение которого до шестого знака после запятой равно 2,718282.
Таблица 3.1