выч методы не разобраны! / LAB2-И~1 / ЛАБ_№2 / ЛАБА№2~1
.DOCМинистерство образования РФ
Пермский Государственный Технический Университет
Кафедра Автоматики и Телемеханики
Лабораторная работа № 2
Создание адаптивного квадратурного алгоритма.
Метод трапеции.
Выполнили:
Студенты гр. АТ-03-1
Якушевич С.
Галимов Р.
Болтаев В.
Проверила:
Данилова С. А.
2005
1. Задание:
Вычислить интеграл методом трапеции (n=1) с погрешностью зад=0,001.
2. Формула трапеции:
3. Погрешность метода:
При банкировании получаем те же числа (поправка не вносит изменения в порядок вычислений), т.к. при уменьшении алгоритма хотя бы на одну итерацию сразу возникает неприемлемая погрешность.
4. Текст программы:
Program IntBank;
Uses CRT;
Const a=0.5;
b=1.5;
eps=0.001;
Var x1,x2,pogr,pogrS,e,
int1,int2,int3,int,eps1:real;
i:integer;
function f(x:real):real;
begin
f:=x*ln(x)*ln(2-x)
end;
Begin
clrscr;
WriteLn('h(i)':17,'Q(i)':21,'e(i)':17,'R(i)':17);
WriteLn('-----------------------------------------------------------------------------');
x1:=a;x2:=b;e:=eps;
int:=0;pogrS:=0;i:=1;
repeat
int1:=(x2-x1)/2*(f(x1)+f(x2));
int2:=(x2-x1)/4*(f(x1)+f(x2)+2*f((x1+x2)/2));
pogr:=abs(int2-int1)/3;
eps1:=e*(x2-x1)/(b-a);
if pogr<=eps1 then
begin
int:=int+int2;
pogrS:=pogrS+pogr;
WriteLn(' ', (x2-x1):5:5, ' | ' ,int:7:7, ' | ' , e*(x2-x1)/(b-a):5:9,' | ',pogr);
x1:=x2;
x2:=b;
i:=i+1;
end
else x2:=(x2+x1)/2;
until b=x1;
readln;
WriteLn('h(i)':17,'Q(i)':21,'e(i)':17,'R(i)':17);
WriteLn('-----------------------------------------------------------------------------');
x1:=a;x2:=b;e:=eps;
int:=0;pogrS:=0;i:=1;
repeat
int1:=(x2-x1)/2*(f(x1)+f(x2));
int2:=(x2-x1)/4*(f(x1)+f(x2)+2*f((x1+x2)/2));
pogr:=abs(int1-int2)/3;
eps1:=e*(x2-x1)/(b-a);
if pogr<=eps1 then
begin
int:=int+int2;
pogrS:=pogrS+pogr;
WriteLn(' ', (x2-x1):5:5, ' | ' ,int:7:7, ' | ' , e*(x2-x1)/(b-a):5:9,' | ',pogr);
e:=e+e*(x2-x1)/(b-a)-pogr;
x1:=x2;
x2:=b;
i:=i+1;
end
else x2:=(x2+x1)/2;
until b=x1;
readln;
end.