Формула трапеций
Найдем коэффициенты формулы
,
где
, i=0,1,…,n при n=1.
При i = 0 
При i = 1 
Формула
на отрезке [x0, x1] примет вид:

Для отрезка [a, b]:
(*)
Рассмотрим погрешность: 
На отрезке [x0, x1] погрешность
.
При
(*) дает значение интеграла с избытком;
при
(*) дает значение интеграла с недостатком.
На отрезке [a, b]
.
Поскольку hn=|b-a|, то
, где
.
Программа численного интегрирования методом трапеций:
program lab_4_1a;
var i,n :integer;
s,h,a,b,x :real;
function f(x: real):real;
begin {функция в виде f:=[математическое выражение]}
f:=sin(x);
end;
begin
write('Введите левую и правую границы отрезка - ');
readln(a,b);
write('Введите шаг - '); readln(h);
n:=round(abs((b-a)/h));
s:=0;
for i:=0 to n do
begin
x:=a+h*i;
s:=s+f(x);
end;
s:=h*(s-(f(a)+f(b))/2);
writeln('Искомый определенный интеграл равен ',s:10:6);
readln;
end.
| Блок-схема численного интегрирования методом трапеций: | Результаты работы программы: |
| Введите левую и правую границы отрезка - 0 3 Введите шаг - 0.1 Искомый определенный интеграл равен 1.988334 Введите левую и правую границы отрезка - 0 3 Введите шаг - 0.05 Искомый определенный интеграл равен 1.989578 |
program lab_4_1;
var i,n :integer;
s,h,a,b,x :real;
function f(x: real):real;
begin {записать, функцию в виде f:=[математическое выражение]}
f:=sin(x);
end;
begin
write('Введите левую и правую границы отрезка - ');
readln(a,b);
write('Введите число точек - '); readln(n);
h:=abs((b-a)/n);
s:=0;
for i:=0 to n do
begin x:=a+h*i;
s:=s+f(x);
end;
s:=h*(s-(f(a)+f(b))/2);
writeln('Искомый определенный интеграл равен ',s:10:6);
readln;
end.
Введите левую и правую границы отрезка - 0 3.1415