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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: