Формула трапеций

Найдем коэффициенты формулы ,

где , 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