* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
2
БЕЛОРУССКИЙ АГРАРНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КУРСОВАЯ РАБОТА
на тему “вычисление определенн ого интеграла
методами трапеций и средних пр ямоугольников”
Студента 2-го курса : Полушкина О.А.
Научный руководитель : Севернева Е.В.
Минск , 1997
Содержание.
Введен ие , математическое обоснование и анализ задачи.
Алгоритм и его описание.
Листинг программы.
Исходные данные . Результаты расчетов и анализ.
Заключение и выводы.
Список литературы.
Введение , математическое обоснование и анализ задачи.
Известно, что определенный инт еграл функции типа 2203_1 численно представляет собой площадь криволинейной трапеции ограниченной крив ыми x =0 , y = a , y = b и y = (Рис. 1). Есть два метода вычисления этой площади или определенного инт еграла — метод трапеций (Рис. 2) и метод средних прямоугольников (Рис. 3).
Рис . 1 <2203_2> . Криволинейная трапеция.
Рис . 2 <2203_3> . Метод трапеций.
Рис . 3 2203_ 4 . Метод средних прямоуго льников.
По методам трапеций и средних прямоугольников соответст венно интеграл равен сумме площадей прямоугол ьных трапеций , где основание трапеции какая-ли бо малая величина (точность ), и сумма площа дей прямоугольников , где основа ние прямоу гольника какая-либо малая величина (точность ), а высота определяется по точке пересечения верхнего основания прямоугольника , которое граф ик функции должен пересекать в середине . С оответственно получаем формулы площадей —
для метода трапеций : 220 3_5
,
для метода средних прямоугольников : 2203_6
.
Соответственно этим формулам и составим алгоритм.
Алгоритм. <2203_7>
Рис . 4. Алгоритм работы программы integral . pas .
Листинг программы.
Программа написана на Tubro Pascla 6.0 для MS - DOS . Ниже приведен ее л истинг :
program Integral ;
uses
Crt, Dos;
var
dx,x1, x2,e,i:real;
function Fx(x:real):real;
begin
Fx:=2+x; В этом месте запишите функцию , д ля вычисления интеграла.
end;
procedure CountViaBar;
var
xx1,xx2:real;
c:longint;
begin
writeln('------------------------------------------------');
writeln('-->Метод средних прям оугольников .');
writeln(' Всего итераций :',round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do begin
write('Итерация ',c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
i:=i+abs(xx1+xx2)/2*e;
en d;
writeln('------------------------------------------------');
writeln(' Интеграл =',i);
end;
procedure CountViaTrap;
var
xx1,xx2,xx3:real;
c:longint;
begin
writeln('------------------------------------------------');
writeln('--> Метод трапеций .');
writeln(' Всего итераций :',round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do begin
write('Итерация ',c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
if xx2>xx1 then xx3:=xx1 else xx3:=xx2;
i:=i+abs(xx2-xx1)*e+abs( xx3)*e;
end;
writeln('------------------------------------------------');
writeln(' Интеграл =',i);
end;
begin
writeln('------------------------------------------------');
writeln('-=Программа вычисления определенного интеграла =-');
writeln('Вве дите исходные значения :');
write('Начальное значение x (x1)=');Readln(x1);
write('Конечное значение x (x2)=');Readln(x2);
write('Точность вычисления (e)=');Readln(e);
CountViaBar;
CountViaTrap;
writeln('----------------------------------------- -------');
writeln('Спасибо за использо вание программы ;^)');
end.
Исходные данные . Результаты расчетов и анализ.
Ниже приведен результат работы написанной и откомпилированной программы :
------------------------------------------------
-=Программа вычисления определенного интегра ла =-
Введите исходные значения :
Начальное значение x (x1)=0
Конечное значение x (x2)=10
Точность вычисления (e)=0.01
------------------------------------------------
-->Метод средних прямоугольников.
Всего итераций :1000
------------------------------------------------
Интеграл = 7.0100000000E+01
------------------------------------------------
-->Метод трапеций.
Всего итераций :1000
------------------------------------------------
Интеграл = 7.0150000001E+01
------------------------------------------------
Спасибо за использование программы ;^)
Расчет проверялся для функции , а опре деленный интеграл брал ся от 0 до 10, точность 0,01.
В результате расчетов получаем :
Интеграл 2203_8 .
Методом трапеций 2203_9 .
Методом средних прямоугольников 2203_10 .
Также был произведен расчет с точностью 0,1:
Интеграл 2203_11 .
Методом трапеций 2203_12 .
Методом средних прямоугольников 2203_13 .
Заключение и выводы.
Таким образом очевидно , что пр и вычислении определенных интегралов методами трапеций и средних прямоугольников не дает на м точного значения , а только пр иближенное.
Чем ниже задается численное значение точности вычислений (основание трапеции или п рямоугольника , в зависимости от метода ), тем точнее результат получаемый машиной . При эт ом , число итераций составляет обратно пропо рциональное от численного значения точнос ти . Следовательно для большей точности необхо димо большее число итераций , что обуславливае т возрастание затрат времени вычисления интег рала на компьютере обратно пропорционально то чности вычисления.
Использование дл я вычисления одноврем енно двух методов (трапеций и средних прям оугольников ) позволило исследовать зависимость то чности вычислений при применении обоих методо в.
Следовательно при понижении численного зн ачения точности вычислений результаты расчетов по обеим методам стремятся друг к другу и оба к точному результату.
Список литературы.
1. Вольвачев А.Н ., Крисевич В.С . Програ ммирование на языке Паскаль для ПЭВМ ЕС . Минск .: 1989 г.
2. Зуев Е.А . Яз ык программирования Turbo Pascal . М .1992 г.
3. Скляров В.А . Знакомьтесь : Паскаль . М . 1988 г.