{Вычисление определенного интеграла по формуле Симпсона}

Uses CRT;

{Глобальные переменные}

Type

RealType = Extended; {базовый вещественный тип}

FunType = Function(x : RealType) :RealType;

Var

A, B, Int : RealType;

N : Integer;

{$F+}

Function Fun(x : RealType) : RealType;

{Заданная подинтегральная функция}

Begin

Fun:= Cos(x*x);

End; {Fun}

{$F-}

Function Simpson(Fun : FunType;

A, B : RealType; N : Integer) : RealType;

{Вычисление определенного интеграла по формуле Симпсона}

{

ВОДНАЯ ИНФОРМАЦИЯ:

Fun - подынтегральная функция;

A, B - границы интервала интегрирования;

N - количество подынтервалов, на которые разбивается

интервал интегрирования.

ВЫХОДНАЯ ИНФОРМАЦИЯ:

Simpson - значения этой функции есть вычисленный по

формуле Симпсона определенный интеграл.

}

Var

h, I : RealType;

k : Integer;

Begin {Simpson}

h:= (B-A)/(N*2.0);

I:= Fun(A);

For k:= 1 to (2*N-1) do

If Odd(k) then {Проверка k на нечетность}

I:= I + 4.0 * Fun(A+k*h)

else

I:= I + 2.0 * Fun(A+k*h);

Simpson:= (I + Fun(B)) * h / 3.0

End; {Simpson}

{Головная программа}

BEGIN

ClrScr;{Очищает экран, модуль Crt}

WriteLn (' ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА МЕТОДОМ СИМПСОНА');

WriteLn;

WriteLn (' ИСХОДНОЕ УРАВНЕНИЕ: y = Cos(x*x)');

WriteLn('Введите исходные данные:');

Write('Начало интервала интегрирования A= '); ReadLn(A);

Write('Конец интервала интегрирования B= '); ReadLn(B);

Write('Количество интервалов разбиения N= '); ReadLn(N);

WriteLn;

Int:= Simpson(Fun, A, B, N);

WriteLn (' **************** РЕЗУЛЬТАТ ****************');

WriteLn(' Значение интеграла: ',Int:12:10);

WriteLn;

WriteLn(' ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ ЛЮБУЮ КЛАВИШУ!!!');

Repeat Until KeyPressed; {Ожидает нажатия любой клавиши, модуль Crt}

ClrScr;{Очищает экран, модуль Crt}

END.

4.7. Формула Ньютона-Котесса при n=4 (формула Бодэ)

Численное интегрирование методом Ньютона-Котеса при (формула Боде):

4.8. Формула Уэддля (Веддля)

Метод Уэддля (Веддля) базируется на применении к каждому из отрезков разбиения формулы

Метод применяют в частном случае, когда . Это метод пятого порядка для шести точек.

4.9. Формула Ньютона-Котесса (n=6)

Формула с повышенной точностью (в сравнении с формулой Уэддля) для

метод седьмого порядка для шести точек.

4.10. Метод Чебышева

Метод основан на вычислении определенного интеграла по формуле

Этот интеграл приводится к виду

подстановкой

.

Выбор значений производится из условия, что формула интегрирования будет точной для вида, , т. е. для полиномом вплоть до -й степени.

Для ,

для

Формула точна для полинома степени .

4.11. Метод Гаусса