4.2 Приближенное вычисление определенных интегралов
Численное интегрирование основано на геометрическом смысле определенного интеграла, который заключается в том, что значение
![]()
равно площади фигуры, ограниченной осью абсцисс, прямыми x = a, x = b и кривой подынтегральной функции. Эту фигуру (криволинейную трапецию) разбивают на ряд элементарных фигур с легко вычисляемыми площадями, суммирование которых дает искомое значение интеграла.
4.2.1. Формула прямоугольников. Разбиение интервала интегрирования [a ,b] на n частей приводит к возможности рассмотрения площадей криволинейных трапеций на каждом небольшом отрезке [xi; xi+1]. Учитывая малую величину шага разбиения h = (b-a)/n, площадь такой фигуры можно считать приближенно равной площади прямоугольника со сторонами yi и h (см. рисунок 4.9).

Рисунок 4.9 - Графическая
интерпретация метода прямоугольников
Суммирование значений таких площадей (Si = yi h) позволяет получить формулу
«левых» прямоугольников
![]()
Блок-схема этого метода представлена в Приложении 6.
4.2.2.
Формула трапеций. Замена
интеграла
на каждом элементарном участке площадью
трапеции с основаниями
yi
=f (x i),
y i+1
=f (x i+1)
и высотой
h
(S i
= h(y
i
+ y i+1)
/ 2)
приводит
после суммирования к следующей формуле:
![]()
Блок-схема метода трапеций представлена в Приложении 6.
4.2.3. Формула Симпсона. Разбиение промежутка [a, b] на четное число (n=2m) отрезков позволяет на каждой паре отрезков [x i; x i+2] заменить подынтегральную функцию параболой y(x) = Ai x2 + Bi x + Ci. Площадь фигуры, ограниченной сверху параболой, считается по формуле:

Суммирование таких интегралов (площадей, ограниченных параболами) приводит к более точной, чем предыдущие, формуле:
![]()
Пример.
Вычислить

а) Формула Ньютона-Лейбница

б) Разобьем
отрезок [0,
1] на 4 части.
Шаг разбиения h
= 0,25. Вычисляем
в каждой точке разбиения значение
подынтегральной функции
![]()
.
|
I |
0 |
1 |
2 |
3 |
4 |
|
X |
0 |
0.25 |
0.5 |
0.75 |
1 |
|
Y |
1 |
0.941 |
0.8 |
0.64 |
0.5 |
Формула трапеций
I =h ((y0 + y4) / 2+ y1 + y2 + y3) = 0.25 ((1 + 0,5) / 2 + 0.941 + 0.8 + 0.64) =0,7828
Формула Симпсона:
I = (h / 3)[y0 + 4(y1 + y3) + 2y2 + y4] = (0,25 / 3) [1 + 4(0,9412 + 0,64) + 20,8 + 0,5] = 0,7854
Расчеты показывают хорошее совпадение результатов, полученных численным интегрированием, с результатом непосредственного интегрирования. Увеличение числа разбиений приведет к более точным результатам.
При вычислении
интегралов описанными методами оценить
количество разбиений отрезка удается
достаточно редко. В таком случае следует
выполнить расчеты интеграла для шага
h
и h
/ 2,
и полученные значения сравнить. Если
для формулы Симпсона оценочная величина
больше
заданной точности ε,
то приходится уменьшать шаг до h
/ 4
и т.д., пока
на каком-то этапе не будет выполнено
условие:
![]()
Данный алгоритм позволяет вычислить значение интеграла с автоматическим выбором шага. Его схема представлена в Приложении 6, где для удобства программирования использована измененная формула Симпсона:
![]()
Решение систем линейных уравнений
Методы решения систем линейных уравнений можно разделить на три группы: точные (Крамера, Гаусса, и др.), итерационные и специальные (прогонки). В этом разделе изложены итерационные методы, т.к. точные методы очень полно излагаются в курсе высшей математики, а специальные применяются для систем специфического характера.
Рассмотрим систему из n уравнений:

Разрешив первое уравнение относительно x1, второе – относительно x2 и т.д., получим:

Правые части уравнений последней системы можно рассматривать как функции от неизвестных x1, x2, ... xn, и тогда систему можно представить в виде:

4.3.1. Метод итераций. Если задать начальные приближения x1(0), x2(0), ... xn(0), следующие приближения к неизвестным будут получены подстановкой начальных приближений в правую часть преобразованной системы. Найденные значения можно использовать снова (процесс итераций), т.е.

где x i(k) – приближения, полученные на k-м шаге итерации.
Процесс продолжается до тех пор, пока значения xi(k+1) - xi(k) не станут меньше заданной точности ε для всех i = 1,2,... n. Последние полученные приближения являются решением системы уравнений с точностью ε.
Для применения метода итераций существенным является требование сходимости последовательности приближений к решению системы. Итерационный процесс сходится, если сумма отношений модулей коэффициентов каждой строки к диагональному будет строго меньше единицы:
![]()
Неравенство будет справедливо, если диагональные элементы системы удовлетворяют условию:
![]()
Выбор начальных приближений не влияет на условие сходимости, поэтому можно полагать их равными нулю: (xi(0) = 0, i=1,2,.. n) или отношениям свободных коэффициентов к диагональным: (xi(0) = bi /ai,i, i=1,2,.. n).
Пример. Решить систему уравнений методом итераций с точностью = 0,005.
x1
+ 4x2
– x3
= 4
5x1 – x2 + 10x3 = 14
7x1 – 5x2 + 2x3 = 4
В системе первое уравнение имеет преобладающий коэффициент при неизвестном x2, а второе – при x3, а в третьем уравнении такого нет. Сложив первое и третье уравнение системы, можно получить преобладающий элемент при x1. Переставив уравнения так, чтобы по диагонали стояли преобладающие элементы, получим:

Условия сходимости для коэффициентов преобразованной системы выполняются, т.к. 8 > (1+1); 4 > (1+1); 10 > (5+1).
Разрешив уравнения относительно неизвестных, запишем:

Выберем начальные приближения x1(0) = 1, x2(0) = 1, x3(0) = 1,4. Тогда

Дальнейшие итерации дадут значения приближений: x(2) = (1,0125; 1,0125; 1,035); x(3) = (1; 1,005; 0,995); x(4) = (1,000; 1,001; 1,000). Последнее приближение можно считать решением системы с точностью ε =0.005, т.к. max xi(4) – xi(3) = 0,005. Блок-схема алгоритма метода итераций представлена в Приложении 6.
4.3.2. Метод Зейделя. Рассмотренный итерационный процесс можно модифицировать. Для вычисления приближения xi(k+1) были использованы, полученные на предыдущем шаге xi(k), i=1,2, ..., n. Но к этому моменту уже найдены значения x1(k+1), x2(k+1), ... xi-1(k+1), поэтому для определения xi(k+1) имеет смысл их применить, т.е.

Для составления блок-схемы алгоритма метода Зейделя воспользуемся формулой получения приближения на (k+1)-м шаге в виде:

где i = 1, 2, ..., n. На каждом шаге итерации будем вычислять погрешности Ri(k) = xi(k+1) – xi(k) и сравнивать их с заданной точностью ε. Блок-схема алгоритма метода Зейделя представлена в Приложении 6.
