Вторая пачка часть 101
.., 1976] соотношением
R = -(3/80) h5 y(IV)(?) для всех ?????a, b? \ xi .
Достроим таблицу коэффициентов до n = 7:
N = 6: H0 = H6 = 41/840; H1 = H5 = 9/35;
H2 = H4 = 9/280, Н5 = 34/105;
N = 7: H0 = H7 = 751/17280; H1 = H6 = 3577/17280;
H2 = H5 = 1323/17280; Н3 = Н4 = 2989/17280.
Если эти коэффициенты записать в спе-ци¬аль¬ный справочный массив, который может хра¬нить¬ся на маг¬нит¬ном диске, то программа для вы¬чис¬ле¬ния оп¬ре¬де¬лен¬¬ного интеграла выглядит так:
FUNCTION NEWCOT (A,B:REAL;N:INTEGER) : REAL;
TYPE MS = ARRAY [0..7] OF INTEGER;
MS2 = ARRAY [3..7] OF MS;
FF = FILE OF MS2;
VAR H1,H2 : MS2; FC : TEXT;
X1, SUM,H, Y1 : REAL;
BEGIN
ASSIGN (FC,'A:\');
RESET (FC);
FOR I := 3 TO 7 DO
FOR J := 0 TO 7 DO
READ (FC,H1[I,J]);
FOR I := 3 TO 7 DO
FOR J := 0 TO 7 DO
READ (FC,H2[I,J]);
CLOSE (FC);
H := (B-A) / N;
X1 := A;
SUM := 0.0;
FOR I := 0 TO 7 DO
BEGIN
SUM := SUM + FUNC (X1) * H1[N,I]/H2[N,I];
X1 := X1 + H;
END;
NEWCOT := (B-A) * SUM;
END.
В программе массивы Н1(i) и Н2(i) счи-ты¬ва¬ют¬ся с диска, где готовятся пользователем пред¬ва¬ри¬тель¬но (имя фай¬ла надо доопределить). При этом Н1(i) со¬дер¬жит чис¬¬лители, а Н2(i) - знаменатели ко¬эф¬фи¬ц謬¬ен¬тов формул Ньютона - Котеса Нi, которые окон¬¬ча¬тельно вы¬чис¬ляются в пргра쬬ме (для умень¬ше¬ния ошибки вы¬чис-лений); FUNС (Х1) - про¬це¬дура-функ¬ция, опре-де¬ля¬ет¬ся пользователем по под¬ын¬те¬граль¬¬но¬му выражению.
Эту программу можно оформить как про-це¬ду¬ру и ис¬пользовать ее на каждом элементарном от¬рез¬ке [хi, хi+1], что значительно повысит точность вы¬чис¬ле¬ния оп¬ределенного интеграла. Но тогда сл嬬дует по¬м¬нить, что n будет относиться не ко все¬му отрезку [а, b], на ко¬то¬ром вычисляется ин¬тег¬рал, а только к одному эле¬мен¬тарному отрезку [хi, хi+1].
Для проверки работы программы вы¬чис-лял¬ся опре¬де¬ленный интеграл функции на от¬рез¬ке [а, b], который пересчитывался па¬рал¬лель¬но для срав¬не¬ния с помощью простейших фор¬му¬л интегрирования
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа