Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Calculus_of_approximations.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.89 Mб
Скачать

Задача 3

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

{Программа 1.3}

program integral; {Метод средних прямоугольников}

uses crt;

var i, n: integer; a, b, dx, x, s, xb : real;

function f(x : real):real;

begin f:=(1/x)*sin(3.14*x/2); end;

begin

clrscr; gotoxy(10,10); textbackground(1);

write('Введите нижний предел интегрирования ');

readln(a); gotoxy(10,12);

write('Введите верхний предел интегрирования ');

readln(b); gotoxy(10,14);

write('Введите количество отрезков '); readln(n);

dx:=(b-a)/n; xb:=a+dx/2;

for i:=0 to n-1 do

begin x:=xb+i*dx; s:=s+f(x)*dx; end;

gotoxy(10,18);

write('Интеграл равен ',s:15:10); readln;

end.

3. Метод трапеций.

Формула трапеций: (1.6)

Ф ормула (1.6) означает, что площадь криволинейной трапеции заменяется площадью многоугольника, составленного из n трапеций (рис. 1.4); при этом кривая заменяется вписанной в нее ломаной.

{Программа 1.4}

program integral; {метод трапеций}

uses crt;

var i,n:integer; a,b,h,x,s:real;

function f(x:real):real;

begin f:=(1/x)*sin(3.14*x/2); end;

begin

clrscr; gotoxy(10,10); textbackground(1);

write('Введите нижний предел интегрирования');

readln(a); gotoxy(10,12);

write('Введите верхний предел интегрирования ');

readln(b); gotoxy(10,14);

write('Введите количество отрезков '); readln(n);

h:=(b-a)/n; s:=0; x:=a;

for i:=1 to n-1 do

begin x:=x+h; s:=s+f(x); end;

s:=h*((f(a)+f(b))/2+s); gotoxy(10,18);

writeln('Интеграл равен ',s:16:10); readln;

end.

4. Метод Симпсона.

Геометрически иллюстрация формулы Симпсона состоит в том, что на каждом из сдвоенных частичных отрезков заменяем дугу данной кривой дугой графика квадратного трехчлена.

Разобьем отрезок интегрирования [a; b] на 2n равных частей длины . Обозначим точки разбиения x0=a; x1=x0+h, ... , xi=x0+ih, ..., x2n=b. Значения функции f в точках xi обозначим yi, т.е. yi=f(xi). Тогда согласно методу Симпсона

(1.7)

{Программа 1.5}

program integral; {Метод Симпсона}

uses crt;

var i,n,c:integer; a,b,h,x,s:real;

function f(x:real):real;

begin f:=(1/x)*sin(3.14*x/2); end;

begin

clrscr; gotoxy(10,10); textbackground(1);

write('Введите нижний предел интегрирования ');

readln(a); gotoxy(10,12);

write('Введите верхний предел интегрирования ');

readln(b); gotoxy(10,14);

write('Введите количество отрезков '); readln(n);

h:=(b-a)/n; s:=0; x:=a; c:=1;

for i:=1 to n-1 do

begin x:=x+h; s:=s+(3+c)*f(x); c:=-c; end;

s:=h*(f(a)+f(b)+s)/3; gotoxy(10,18);

writeln('Интеграл равен ',s:14:10); readln;

end.

Каждая из формул (1.3) – (1.7), как правило, дает результат тем точнее, чем больше n. Из всех приведенных формул наиболее точной является формула Симпсона, наименее точны формулы прямоугольников.

5. Практическая работа на эвм

  1. Вызвать с диска программу 1.1 (метод левых прямоугольников): файл int1.pas

  2. Внести изменения в программу, заменив функцию на функцию согласно своему варианту (Приложение 1). Получить результаты для: n=10; 20; 100.

  3. Вычислить интеграл по формуле правых прямоугольников (Программа 1.2). Получить результаты для n=10; n=20; n=100.

  4. Вычислить интеграл по формуле средних прямоугольников (Программа 1.3). Получить результаты для: n=10; n=20; n=100.

  5. Вызвать с диска программу 1.4 (метод трапеций): файл int4.pas

  6. Внести изменения в программу, заменив функцию на функцию согласно своему варианту. Получить результаты для: n=10; 20; 100.

  7. Вызвать с диска программу 1.5 (метод Симпсона): файл int5.pas.

  8. Внести изменения в программу, заменив функцию на функцию согласно своему варианту. Получить результаты для: n=10; 20; 100.

  9. Сделать вывод о численных методах вычисления определенного интеграла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]