Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТЧЕТ ПО ЧИСЛОВЫМ МЕТОДА.doc
Скачиваний:
3
Добавлен:
20.04.2019
Размер:
1.09 Mб
Скачать

Тестирование программы

Лабораторная работа № 4

Методы численного интегрирования.

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

Методические указания

Численное интегрирование функции заключается в вычислении значения определенного интеграла на основании ряда значений подынтегральной функции.

Приближенное равенство

,

где qi – некоторые числа, xi – некоторые точки отрезка [a,b], называется квадратурной формулой.

На практике при приближенном вычислении определенно интеграла обычно делят заданный отрезок [a,b] на n равных частичных отрезков, на каждом частичном отрезке применяют какую-либо одну квадратурную формулу и суммируют полученные результаты. Построенная таким образом квадратурная формула на отрезке [a,b] называется обобщенной формулой.

Обобщенная формула Симпсона.

Формула имеет вид

,

где n=2m.

Порядок выполнения работы

1. Изучить квадратурную формулу, соответствующую Вашему варианту.

2. Разработать программу вычисления определенного интеграла по квадратурной формуле, соответствующей вашему варианту.

3. Вычислить определенный интеграл при n=2, 20, 100.

4. Сделать вывод о зависимости точности вычислений от количества частичных отрезков.

, использовать формулу Симпсона;

Листинг программы

Program Integr;

uses crt;

var n0:integer;

Function F(fx:real):real;

Begin

F:=exp(-4*(fx*fx*fx)+2*fx+1);

End;

procedure OCH(n:integer);

var sum1,sum2,a,b,h,int,x: real;

i,j,m: integer;

Begin

sum1:=0;

sum2:=0;

m:=n div 2;

a:=0;

b:=1;

h:=(b-a)/n;

For i:=1 to m do begin

sum1:=sum1+f(a+h*(2*i-1));

end;

For i:=1 to m-1 do begin

sum2:=sum2+f(a+h*(2*i));

end;

x:=(h/3)*(f(a)+f(a+h*n)+4*sum1+2*sum2);

Writeln ('**************************************************************');

Writeln ('Определенный интеграл при n =',n,' - ',x:7:6);

Writeln ('**************************************************************');

end;

Begin

clrscr;

Writeln ('**************************************************************');

Writeln ('Программа расчета определенного интерграла по формуле Симпсона');

Writeln (' Определенный интеграл расчитывается для 3 значений ');

Writeln (' частичных отрезков N = 2, 20, 100 ');

Writeln ('**************************************************************');

n0:=2;

OCH(n0);

n0:=20;

OCH(n0);

n0:=100;

OCH(n0);

writeln ('Результат вычисления определенного интеграла, проверен в MathCAD = 3.169');

End.

Тестирование программы