Численно вычислить интегралы на ЭВМ, используя рассмотренные выше методы:
Метод трапеций;
141+xx2dx
Решение
По формуле трапеций:
abfxdx=hfx0+fxn2+i=1n-1fxi+R.
Остаточный член R равен
R=-f''γ12b-ah2, γ∈[1, 4]
Примем число отрезков разбиения n=10. Тогда шаг
h=b-an=4-110=0.3.
Необходимо вычислить значения подынтегральной функции в узлах xi:
fx=1+xx2
xi=1+h∙i-1, i=1,…,n.
Сведём вычисления fxi в таблицу:
i
xi
fxi
0 1 2
1 1,3 1,266376
2 1,6 0,884731
3 1,9 0,658838
4 2,2 0,513066
5 2,5 0,412982
6 2,8 0,340985
7 3,1 0,287272
8 3,4 0,246013
9 3,7 0,213553
10 4 0,1875
Суммируем слагаемые с индексами с 1-го по 9:
i=19fxi=1.266376+…+0.213553=4.823815.
Значение интеграла по методу трапеций равно:
Iтрап=141+xx2dx=0.32+0.18752+4.823815=1.77527.
Погрешность по сравнению с точным значением 1.75 равна
1.77527-1.75=0.02527.
Вычисляем в MathCad:
Составляем программу на языке программирования Pascal (PascalABC.Net):
var
I,a,b,h: real;
n: integer;
//подынтегральная функция
function F(x: real): real;
begin
F := (1+sqrt(x))/(x*x);
end;
// Метод трапеций с разбиением на n отрезков
function Trapez(a:real; b:real; n : integer): real;
var
h, S: real;
begin
h:=(b-a)/n;
S:=(F(a)+F(b))/2;
for var i:=1 to n-1 do
begin
a:=a+h;
S:=S+F(a);
end;
Trapez:= S*h;
end;
//основная программа
begin
a:=1; b:=4; n:=10; h:=(b-a)/10;
I:=Trapez(a,b,n);//Метод трапеций
writeln('По методу трапеций значение интеграла = ', I:7:6);
writeln('Число разбиений n = ', n, ', шаг h = ', h);
end.
Результаты выполнения программы:
Таким образом, результаты расчёта интеграла методом трапеций при n=10 вручную, в MathCad и Pascal полностью совпадают.
141+xx2≈1.77527.