Численное интегрирование (историческое название: (численная) квадратура) — вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов отыскания значения определённого интеграла.
Численное интегрирование применяется, когда:
1. Сама подынтегральная функция не задана аналитически. Например, она представлена в виде таблицы (массива) значений в узлах некоторой расчётной сетки.
2. Аналитическое представление подынтегральной функции известно, но её первообразная не выражается через аналитические функции. Например, f(x) = exp( − x2).
В геометрическом понимании определенный интеграл функции f(x) от a до b ( ) - это площадь фигуры, ограниченной самим графиком функции, осью x и пределами интегрирования a, b (см. рис. 3).
Существует множество способов вычислить определенный интеграл, но прежде чем разбираться с программой, рассмотрим сам метод.
Метод прямоугольников— метод численного интегрирования функции одной переменной, заключающийся в замене подынтегральной функции на многочлен нулевой степени, то есть константу, на каждом элементарном отрезке. Если рассмотреть график подынтегральной функции, то метод будет заключаться в приближённом вычислении площади под графиком суммированием площадей конечного числа прямоугольников, ширина которых будет определяться расстоянием между соответствующими соседними узлами интегрирования, а высота — значением подынтегральной функции в этих узлах.
Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по
1. Формуле левых прямоугольников:
2. Формуле правых прямоугольников:
3. Формуле прямоугольников (средних):
Составные квадратурные формулы
В случае разбиения отрезка интегрирования на элементарных отрезков, приведённые выше формулы применяются на каждом из этих элементарных отрезков между двумя соседними узлами. В результате, получаются составные квадратурные формулы
1. Для левых прямоугольников:
2. Для правых прямоугольников:
3. Для средних прямоугольников:
Формулу с вычислением значения в средней между двумя узлами точке можно применять лишь тогда, когда подынтегральная функция задана аналитически, либо каким-нибудь иным способом, допускающим вычисление значения в произвольной точке. В задачах, где функция задана таблицей значений остаётся лишь вычислять среднее значение между интегралами, посчитанными по формулам левых и правых прямоугольников соответственно, что приводит к составной квадратурной формуле трапеций.
Поскольку составные квадратурные формулы являются ни чем иным, как суммами, входящими в определение интеграла Римана, при они сходятся к точному значению интеграла. Соответственно, с увеличением точность получаемого по приближённым формулам результата возрастает.
Ниже произведено графическое сравнение различных методов прямоугольников.
Сравнение применения различных формул прямоугольников
Формула левых прямоугольников
Формула средних прямоугольников
Формула правых прямоугольников
Составные формулы для равномерных сеток
Равномерную сетку можно описать следующим набором формул:
где — шаг сетки.
Для равномерных сеток формулы прямоугольников можно записать в виде следующих формул Котеса:
1. Составная формула левых прямоугольников:
2. Составная формула правых прямоугольников:
Погрешность метода
Для формул правых и левых прямоугольников погрешность составляет
Для формулы прямоугольников (средних)
Для составных формул правых и левых прямоугольников на равномерной сетке:
Для составной формулы прямоугольников:
Описание алгоритма
Метод последовательных приближений, которым мы воспользуемся для решения этой задачи, состоит в многократном вычислении интеграла со все возрастающей точностью, - до тех пор, пока два последовательных результата не станут различаться менее чем на заданное число (скажем, eps = 0,001). Количество приближений нам заранее неизвестно (оно зависит от задаваемой точности), поэтому здесь годится только цикл с условием (любой из них).
Вычислять одно текущее значение для интеграла мы будем с помощью метода прямоугольников: разобьем отрезок [a,b] на несколько мелких частей, каждую из них дополним (или урежем - в зависимости от наклона графика функции на данном участке) до прямоугольника, а затем просуммируем получившиеся площади. Количество шагов нам известно, поэтому здесь удобнее всего воспользоваться циклом с параметром.
На рисунке 4 изображена функция f(x) = x2 (на отрезке [1,2]). Каждая из криволинейных трапеций будет урезана (сверху) до прямоугольника: высотой каждого из них послужит значение функции на левом конце участка. График станет "ступенчатым".
Рис. 4. Вычисление интеграла функции
Код программы
Program integral;
const
eps=0.001;
var
a,b: integer;
i: longint;
step: longint;
h: double;
s_nov, s_star: double;
function f (x: double): double;
begin
f:=x*x*x-3*x*x+4*x-1;
end;
BEGIN
step:=1;
a:=0;
b:=3;
h:=b-a;
s_nov:=f(a)*h;
repeat
здесь придется подумать (алгоритм вычисления интеграла)
until abs (s_nov-s_star)<=eps;
writeln ('Количество разбиений = ',step, '. Площадь на участке ',a:3,b:3, ' равна ', s_nov);
END.
Данная программа написана для нахождения интеграла функции f(x)=x3-3x2+4x-1 на отрезке [0;3]. Точное значение определенного интеграла равно 8,25, что близко к вычисленному программой – 8,24945…
ЗАДАНИЕ
Решите свой вариант, необходимую информацию возьмите в таблице 1.
Таблица 1
№ варианта
Определенный интеграл функции f(x)
Приблизительное значение
9,8435
-0,9966
0,50355
4,5447
15,883
0,32514
0,90877
5,0196
2,8323
0,377
1,499
0,42158
0,81204
0,5297
0,0269
0,08502
0,11009
0,2309
0,0846
1,60366
или
т.е. интеграл от функции Хевисайда
Модифицируйте исходный код программы так, чтобы можно было решить ваш вариант. Ниже представлен перечень функций достаточных для решения поставленной задачи: