Вторая пачка часть 131
Тогда, выражая сi hi из фор¬мул (*) и (**) и выполнив эле¬ментарные пре¬об¬ра¬зо¬ва¬ния по¬лу¬чен-ного вы¬ра¬же¬ния, будем иметь
,
откуда, пред¬ставив 8 = 23 + 1 - 1, раскрыв скобки и при¬ве¬дя подобные, окон¬ча¬тел¬ьно получим
. (3.7)
В выражении (3.7) в правой части стоят только известные величины - значения ин¬тег¬ра¬лов, вы¬чис¬лен¬ные для шагов hi и hi / 2 .
В общем случае, когда интегрируется функция не¬ко¬то¬рой квадратурной формулой порядкa m, то¬г¬да формула (3.7) будет немного иной:
. (3.8)
Используя формулу (3.7) или (3.8), в зависимости от ти¬па фор¬му¬лы приближенного интегрирования (пря¬мо¬у¬голь¬ни¬ков, тра¬пеций, Симсона или Нью¬то¬на-Ко¬те¬са) мож¬но, зବдав не¬об-ходимую точ¬ность вы¬чис¬ле¬ний, ин¬те¬гри¬ровать с а⬬¬то¬ма¬т謬чес¬ким вы¬бо¬ром шବга ин¬те¬гри¬ро¬ва¬ния. Про¬це¬ду¬ры, р嬬а¬ли¬зу¬ющие дан¬¬ный метод, можно взять из пре¬ды¬ду¬щих § 2 - 4 и после некоторой пе¬ре-ра¬бот¬ки использовать для а⬬то¬ма¬ти¬ческого выбора шага ин¬тегрирования. На пр謬ме¬ре про¬ц嬬ду¬ры INTLPS по¬ка¬жем, как это можно вы¬пол¬нить. Во вход¬ные па¬рବметры укବзанной про¬це¬дуры до¬бав¬ляем нвую п嬬ре¬мен¬ную - eps, задающую н嬬обходимую точ¬¬ность вы¬¬¬чис¬ле¬ний. Текст переработанной про-це¬ду¬ры пр謬во¬дится ни¬же.
PROCEDURE INTLPS (VAR S:REAL; K:INTEGER;
EPS:REAL);
BEGIN
S := 0.0; N := 1;
REPEAT
S1 := S; H := (B-A) / N;
X := A;
IF K<5 THEN
FOR I := 0 TO N DO
BEGIN
IF K <>3 THEN X := A+ H*I
ELSE X:=A+H/2+H*I;
F := FUNC (X);
IF K=4 THEN F := F/2.0;
IF (I=0) AND (K<>2) THEN S := S + F;
IF (I=N) AND ((K=2) OR (K=4)) THEN
S := S + F;
IF (I<>0) AND (I<>N) THEN
IF K<>4 THEN S := S+F
ELSE S := S + F*2;
END
ELSE
BEGIN
FOR I := 1 TO N-1 DO
S := 2*FUNC(X+H*I)+4*FUNC(X+H*I-H/2)+ S;
S := S + 4*FUNC(B-H/2) + FUNC(A) + FUNC(B);
S := S / 6;
END;
S := S * H; N := N * 2;
UNTIL ABS (S1 - S) > EPS;
END
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа