Пусть на отрезке [a,b] задана непрерывная функция y=f(x), (рис.15.1). Интервал, на котором выполняется интегрирование, [a,b], разбивается на n равных отрезков и криволинейная трапеция S заменяется фигурой, составленной из элементарных прямоугольников с площадями Si (рис.15.2).
.
Шаг интегрирования
.
Площадь элементарной фигуры
.
Интеграл равен
.
|
|
Рис.15.1. Геометрический смысл определённого интеграла
| Рис.15.2. Интегрирование методом прямоугольников
|
Таким образом, для вычисления определённого интеграла методом прямоугольников достаточно вычислить сумму значений подынтегральной функции в узлах интегрирования и умножить эту сумму на шаг интегрирования. Преимуществом метода является его простота, недостатком – сравнительно невысокая точность, для повышения которой необходимо увеличивать значение n до 1...10 тысяч.
Пример 1. Составить программу для вычисления интеграла
с заданным количеством узлов интегрирования n. Аналитическое решение даёт результат 9,0. Таким образом, при условии правильного составления программы ожидаемый результат должен быть примерно равен 9. Большое число десятичных знаков при выводе результата позволяет оценить точность метода.
Program Integral1;
Uses Crt;
Var
a,b,s,x,h:real;
i, n: integer;
Function f(xx:real):real;
begin
f:=xx*xx; {Здесь приводим выражение для вычисления функции }
end;
Begin
ClrScr;
Writeln(' Вычисление определенного интеграла');
Writeln(' Метод прямоугольников');
{ Ввод исходных данных }
a:=0; b:=3; n:=1000;
{ Начинаем расчет }
h:=(b-a)/n;
s:=0; x:=a;
for i:=1 to n do
begin
x:=x+h;
s:=s+f(x);
end;
s:=s*h;
Writeln(' Интеграл равен ', s:10:7);
Readln;
End.