Реферат: Вычисление определенного интеграла методами трапеций и средних прямоугольников

БЕЛОРУССКИЙАГРАРНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРАВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">КУРСОВАЯ РАБОТА

на тему“вычисление определенного интеграла
методами трапеций и средних прямоугольников”

Студента2-го курса: Полушкина О.А.

Научныйруководитель: Севернева Е.В.

Минск, 1997

<span Times New Roman",«serif»;mso-fareast-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Содержание.

 TOCo «1-3» Введение, математическое обоснование и анализ задачи.  GOTOBUTTON_Toc408901220   PAGEREF_Toc408901220 3

Алгоритм и егоописание.… GOTOBUTTON_Toc408901221   PAGEREF_Toc408901221 5

Листинг программы.… GOTOBUTTON_Toc408901222   PAGEREF_Toc408901222 6

Исходные данные.Результаты расчетов и анализ.… GOTOBUTTON_Toc408901223   PAGEREF_Toc408901223 8

Заключение ивыводы.… GOTOBUTTON_Toc408901224   PAGEREF_Toc408901224 10

Список литературы.… GOTOBUTTON_Toc408901225   PAGEREF_Toc408901225 11

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Введение, математическоеобоснование и анализ задачи.

Известно,<img src="/referat/public/cache/referats/2759/image002.gif" v:shapes="_x0000_i1025"> что определенныйинтеграл функции <img src="/referat/public/cache/referats/2759/image004.gif" v:shapes="_x0000_i1026"> типа <img src="/referat/public/cache/referats/2759/image006.gif" v:shapes="_x0000_i1027"> численно представляетсобой площадь криволинейной трапеции ограниченной кривыми x=0, y=a, y=b и y=<img src="/referat/public/cache/referats/2759/image004.gif" v:shapes="_x0000_i1028"> (Рис. 1). Естьдва метода вычисления этой площади или определенного интеграла — метод трапеций(Рис. 2) и метод средних прямоугольников (Рис. 3).

<img src="/referat/public/cache/referats/2759/image008.gif" v:shapes="_x0000_i1029">

Рис. 1.Криволинейная трапеция.

<img src="/referat/public/cache/referats/2759/image010.gif" v:shapes="_x0000_i1030">

Рис. 2.Метод трапеций.

<img src="/referat/public/cache/referats/2759/image012.gif" v:shapes="_x0000_i1031">

Рис. 3.Метод средних прямоугольников.

Пометодам трапеций и средних прямоугольников соответственно интеграл равен суммеплощадей прямоугольных трапеций, где основание трапеции какая-либо малаявеличина (точность), и сумма площадей прямоугольников, где основаниепрямоугольника какая-либо малая величина (точность), а высота определяется поточке пересечения верхнего основания прямоугольника, которое график функциидолжен пересекать в середине. Соответственно получаем формулы площадей —

для метода трапеций:

<img src="/referat/public/cache/referats/2759/image014.gif" v:shapes="_x0000_i1032">,

для методасредних прямоугольников:

<img src="/referat/public/cache/referats/2759/image016.gif" v:shapes="_x0000_i1033">.

Соответственноэтим формулам и составим алгоритм.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Алгоритм.

<img src="/referat/public/cache/referats/2759/image018.gif" v:shapes="_x0000_i1034">

Рис.4. Алгоритм работы программы integral.pas.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Листинг программы.

Программанаписана на Tubro Pascla 6.0 для MS-DOS. Ниже приведен ее листинг:

<span Courier New";mso-bidi-font-family:«Times New Roman»">program

<span Courier New";mso-bidi-font-family:«Times New Roman»">Integral;

<span Courier New";mso-bidi-font-family:«Times New Roman»">uses

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  Crt, Dos;

<span Courier New";mso-bidi-font-family:«Times New Roman»">var

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  dx,x1,x2,e,i:real;

<span Courier New";mso-bidi-font-family:«Times New Roman»">function

<span Courier New";mso-bidi-font-family:«Times New Roman»">Fx(x:real):real;

<span Courier New";mso-bidi-font-family:«Times New Roman»">begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  Fx:=2+x; {В этомместе запишите функцию, для вычисления интеграла.}

<span Courier New";mso-bidi-font-family:«Times New Roman»">end

<span Courier New";mso-bidi-font-family:«Times New Roman»">;

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»">CountViaBar;

<span Courier New";mso-bidi-font-family:«Times New Roman»">var

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  xx1,xx2:real;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  c:longint;

<span Courier New";mso-bidi-font-family:«Times New Roman»">begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('-->Методсредних прямоугольников.');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Всего итераций:',round(abs(x2-x1)/e));

<span Courier New";mso-bidi-font-family:«Times New Roman»">  i:=0;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  for c:=1 to round(abs(x2-x1)/e) do begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">    write('Итерация',c,chr(13));

<span Courier New";mso-bidi-font-family:«Times New Roman»">    xx1:=Fx(x1+c*e);

<span Courier New";mso-bidi-font-family:«Times New Roman»">    xx2:=Fx(x1+c*e+e);

<span Courier New";mso-bidi-font-family:«Times New Roman»">    i:=i+abs(xx1+xx2)/2*e;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  end;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Интеграл=',i);

<span Courier New";mso-bidi-font-family:«Times New Roman»">end

<span Courier New";mso-bidi-font-family:«Times New Roman»">;

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»">CountViaTrap;

<span Courier New";mso-bidi-font-family:«Times New Roman»">var

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  xx1,xx2,xx3:real;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  c:longint;

<span Courier New";mso-bidi-font-family:«Times New Roman»">begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('-->Методтрапеций.');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Всего итераций:',round(abs(x2-x1)/e));

<span Courier New";mso-bidi-font-family:«Times New Roman»">  i:=0;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  for c:=1 to round(abs(x2-x1)/e) do begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">    write('Итерация',c,chr(13));

<span Courier New";mso-bidi-font-family:«Times New Roman»">    xx1:=Fx(x1+c*e);

<span Courier New";mso-bidi-font-family:«Times New Roman»">    xx2:=Fx(x1+c*e+e);

<span Courier New";mso-bidi-font-family:«Times New Roman»">    if xx2>xx1 then xx3:=xx1 else xx3:=xx2;

<span Courier New";mso-bidi-font-family:«Times New Roman»">    i:=i+abs(xx2-xx1)*e+abs(xx3)*e;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  end;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Интеграл=',i);

<span Courier New";mso-bidi-font-family:«Times New Roman»">end

<span Courier New";mso-bidi-font-family:«Times New Roman»">;

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('-=Программавычисления определенного интеграла=-');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Введитеисходные значения:');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  write('Начальноезначение x (x1)=');Readln(x1);

<span Courier New";mso-bidi-font-family:«Times New Roman»">  write('Конечноезначение x (x2)=');Readln(x2);

<span Courier New";mso-bidi-font-family:«Times New Roman»">  write('Точностьвычисления (e)=');Readln(e);

<span Courier New";mso-bidi-font-family:«Times New Roman»">  CountViaBar;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  CountViaTrap;

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('------------------------------------------------');

<span Courier New";mso-bidi-font-family:«Times New Roman»">  writeln('Спасибо заиспользование программы ;^)');

<span Courier New";mso-bidi-font-family:«Times New Roman»">end

<span Courier New";mso-bidi-font-family:«Times New Roman»">.

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Исходные данные.Результаты расчетов и анализ.

Нижеприведен результат работы написанной и откомпилированной программы:

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">-=Программавычисления определенного интеграла=-

<span Courier New";mso-bidi-font-family:«Times New Roman»">Введитеисходные значения:

<span Courier New";mso-bidi-font-family:«Times New Roman»">Начальноезначение x (x1)=0

<span Courier New";mso-bidi-font-family:«Times New Roman»">Конечноезначение x (x2)=10

<span Courier New";mso-bidi-font-family:«Times New Roman»">Точностьвычисления (e)=0.01

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">-->Методсредних прямоугольников.

<span Courier New";mso-bidi-font-family:«Times New Roman»">Всегоитераций:1000

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">Интеграл=7.0100000000E+01

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">-->Методтрапеций.

<span Courier New";mso-bidi-font-family:«Times New Roman»">Всегоитераций:1000

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">Интеграл=7.0150000001E+01

<span Courier New";mso-bidi-font-family:«Times New Roman»">------------------------------------------------

<span Courier New";mso-bidi-font-family:«Times New Roman»">Спасибоза использование программы ;^)

Расчетпроверялся для функции <img src="/referat/public/cache/referats/2759/image020.gif" v:shapes="_x0000_i1035">, а определенный интеграл брался от 0 до 10, точность 0,01.

Врезультате расчетов получаем:

1.Интеграл <img src="/referat/public/cache/referats/2759/image022.gif" v:shapes="_x0000_i1036">.

2.Методом трапеций <img src="/referat/public/cache/referats/2759/image024.gif" v:shapes="_x0000_i1037">.

3.Методом средних прямоугольников <img src="/referat/public/cache/referats/2759/image026.gif" v:shapes="_x0000_i1038">.

Такжебыл произведен расчет с точностью 0,1:

1.Интеграл <img src="/referat/public/cache/referats/2759/image022.gif" v:shapes="_x0000_i1039">.

2.Методом трапеций <img src="/referat/public/cache/referats/2759/image028.gif" v:shapes="_x0000_i1040">.

3.Методом средних прямоугольников <img src="/referat/public/cache/referats/2759/image030.gif" v:shapes="_x0000_i1041">.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Заключение и выводы.

Такимобразом очевидно, что при вычислении определенных интегралов методами трапецийи средних прямоугольников не дает нам точного значения, а только приближенное.

Чемниже задается численное значение точности вычислений (основание трапеции илипрямоугольника, в зависимости от метода), тем точнее результат получаемыймашиной. При этом, число итераций составляет обратно пропорциональное отчисленного значения точности. Следовательно для большей точности необходимобольшее число итераций, что обуславливает возрастание затрат времени вычисленияинтеграла на компьютере обратно пропорционально точности вычисления.

Использованиедля вычисления одновременно двух методов (трапеций и средних прямоугольников)позволило исследовать зависимость точности вычислений при применении обоихметодов.

Следовательнопри понижении численного значения точности вычислений результаты расчетов пообеим методам стремятся друг к другу и оба к точному результату.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-font-kerning:14.0pt;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
Список литературы.

1. ВольвачевА.Н., Крисевич В.С. Программирование на языке Паскаль для ПЭВМЕС. Минск.: 1989 г.

2. Зуев Е.А. Язык программирования Turbo Pascal. М.1992 г.

3. Скляров В.А. Знакомьтесь: Паскаль.М. 1988 г.

еще рефераты
Еще работы по математике