Лабы / 5
.docМИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ Московский технический университет связи и информатики
Кафедра вычислительной математики и программирования
Численные методы и оптимизация Лабораторная работа №5 по теме: ”Численное интегрирование”
Выполнил: Востропятов Н. А.
Группа: УИ0301
Вариант: №9
Проверил: Митихин В. Г.
1. Условие.
![]()
2. Вычисление интеграла вручную методом средних прямоугольников.
Общая формула интегрирования методом средних прямоугольников:
![]()
В данном случае для вычисления интеграла с шагами h и h/2 количество этих шагов равно, соответственно: nh=4 и nh/2=8.
Вычислим интегралы:
![]()

Вычислим погрешность по правилу Рунге:
,
где I-значение интеграла,
p-порядок метода.
![]()
Интеграл вычислен с точностью:

3. Программа. Язык – Паскаль.
uses crt;
var
a,b,E,s,s1,h,x:real;
n,i,c,iores:byte;
function f(x:real):real;
begin
f:=8*(x-1)*exp(-sqr(x)/2);
end;
begin
clrscr;
{$I-}
repeat
write('Введите концы отpезка интегpиpования a,b: '); read(a,b);
iores:=ioresult;
if iores<>0 then writeln('Ошибка! Еще pазок...',#10#13) else break;
until iores=0;
repeat
write('Введите точность интегpиpования E: '); read(E);
iores:=ioresult;
if iores<>0 then writeln('Ошибка! Еще pазок...',#10#13) else break;
until iores=0;
{$I+}
writeln;
n:=1;
h:=(b-a)/n;
s:=(f(a)+4*f((a+b)/2)+f(b))*(h/3);
repeat
n:=2*n; h:=(b-a)/n;
s1:=s; c:=4; x:=a;
s:=f(a)+f(b);
for i:=0 to n-1 do
begin
x:=x+h;
s:=s+c*f(x);
c:=6-c;
end;
s:=s*(h/3);
writeln('h=',h:0:4,' n=',n:3,' s1=',s1:6:5,' s=',s:6:5);
until abs(s-s1)/15<E;
writeln;
writeln('E=',E:6:5,' s=',s:6:5,' n=',n:3,' h=',h:0:4);
writeln('Нажмите любую клавишу...');
repeat until keypressed;
end.
Результаты выполнения:
Введите концы отpезка интегpиpования a,b: 1.2 3.2
Введите точность интегpиpования E: 0.0001
h=1.0000 n= 2 s1=2.86571 s=1.50298
h=0.5000 n= 4 s1=1.50298 s=1.58389
h=0.2500 n= 8 s1=1.58389 s=1.56984
h=0.1250 n= 16 s1=1.56984 s=1.56125
h=0.0625 n= 32 s1=1.56125 s=1.55688
h=0.0313 n= 64 s1=1.55688 s=1.55469
h=0.0156 n=128 s1=1.55469 s=1.55359
E=0.00010 s=1.55359 n=128 h=0.0156
Нажмите любую клавишу...
Таблица результатов:
|
E |
n |
h |
I |
|
0.1 |
2 |
1 |
1.50298 |
|
0.01 |
4 |
0.5 |
1.58389 |
|
0.001 |
8 |
0.25 |
1.56984 |
|
0.0001 |
128 |
0.0156 |
1.55359 |
Таблица зависимости числа интервалов от точности:
|
n |
1 |
2 |
3 |
7 |
|
ln(E) |
-1 |
-2 |
-3 |
-4 |
4. Решение задачи с помощью программного математического пакета MathCAD 12.

