Формула трапеций
Найдем коэффициенты формулы ,
где , 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