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

  • Просмотров 488
  • Скачиваний 24
  • Размер файла 113
    Кб

Abiword HTML Document 11 БЕЛОРУССКИЙ АГРАРНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ КУРСОВАЯ РАБОТА методами трапеций и средних прямоугольников” Студента 2-го курса: Полушкина О.А. Научный руководитель: Севернева Е.В. Минск, 1997 Содержание. Введение, математическое обоснование и анализ задачи. Алгоритм и его описание. Листинг программы. Исходные данные. Результаты расчетов и анализ. Заключение и выводы. Список

литературы. Введение, математическое обоснование и анализ задачи. Известно, что определенный интеграл функции типа{2203_1} численно представляет собой площадь криволинейной трапеции ограниченной кривыми x=0, y=a, y=b и y= (Рис.1). Есть два метода вычисления этой площади или определенного интеграла — метод трапеций (Рис.2) и метод средних прямоугольников (Рис.3). Рис. 1<2203_2>. Криволинейная трапеция. Рис. 2<2203_3>. Метод трапеций. Рис. 3{2203_4}.

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

пересекать в середине. Соответственно получаем формулы площадей — для метода трапеций:{2203_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;  end;  writeln('------------------------------------------------');  writeln('Интеграл=',i); end; procedure CountViaTrap; var  xx1,xx2,xx3:real;  c:longint; begin