Вторая пачка часть 105
Они не зависят от зна¬чений функции f(х) и яв¬ля¬ются функциями толь¬ко ко¬ли¬чес¬тва узлов, на ко¬торые разбит отрезок [а, b]. Поэтому Нi обыч¬¬но вычисляют заранее:
N = 1: Н0 = Н1 = 1/2;
N = 2: Н0 = Н2 = 1/6; Н1 = 2/3;
N = 3: H0 = H3 = 1/8; H1 = H2 = 3/8;
N = 4: H0 = H4 = 7/90; H1 = H3 = 16/45; H2 = 2/13;
(((2*Q-9)*Q+11)*Q-3)*R4[I]/12;
2: NEW1 := R2[I]+(Q-1)*R3[I]+
((6*Q-8)*Q+11)*R4[I]/12;
END;
END.
{***ВТОРАЯ ИНТЕРПОЛЯЦИОННАЯ ФОРМУЛА НЬЮТОНА ***}
FUNCTION NEW2 (KEY:INTEGER;X,Y,R1,R2,R3,R4:MAS;
X1:REAL):REAL;
LABEL 30;
VAR I,J,K : INTEGER; Q : REAL;
BEGIN
I := 1;
J := 14;
IF X1 > X[J] THEN GOTO 30;
{ **** МЕТОД ДВОИЧНОГО ПОИСКА ИНТЕРВАЛА ****}
REPEAT
K := (I+J) DIV 2;
IF X1< X[K] THEN J := K;
IF X1>=X[K] THEN I := K;
UNTIL J <= I+1;
30:
Q := (X1 - X[I]) / (X[2]-X[1]);
{ **** ВЫБОР ТИПА РАБОТЫ ПРОЦЕДУРЫ ****}
CASE KEY OF
0: NEW2 := Y[J]+Q*(R1[J-1]+
(Q+1)*(R2[J-2]/2.0+(Q+2)*R3[J-3]/6.0));
1: NEW2 := R1[J-1]+0.5*(2*Q+
1)*R2[J-2]+((3*Q+6)*Q+2)*R3[J-3]/6+
(((2*Q+9)*Q+11)*Q+3)*R4[J-4]/12;
2: NEW2 := R2[J-2]+(Q+
1)*R3[J-3]+((6*Q+18)*Q+11)*R4[J-4]/12;
END;
END.
Для проверки и тестирования процедур вы¬чис¬ля¬лись зна¬чения первой и второй про¬из-вод¬ных функ¬ции при за¬дан¬ных значениях ар¬гу-мен¬та с ис¬поль¬зо¬вବ¬нием пер¬вой или вто¬рой ин-тер¬по¬ля¬¬ци¬он¬ных фор¬мул Нью¬то¬на. Расчеты конт¬рли¬ро¬вались при со¬с¬та⬬ле¬нии таблицы раз¬ностей. Вы¬чис¬ле¬ния вы¬по¬л¬ня¬лись с точ-ностью 10-5. Дан¬¬ные взяты из табл. 2.2. Р嬬зуль¬та-ты работы про¬це¬дур при¬водятся в табл. 3.1.
Таблица 3.1
Первая инт.формула Ньютона Вторая инт.формула Ньютона
xi y’ y’’ xi y’ y’’
1.90800 -0.01067 -0.00043 2.24800 -0.01679 -0.00041
2.13500 -0.01449 -0.00042 2.35900 -0.01999 0.00025
§ 2. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ ПО ПРОСТЕЙШИМ ФОРМУЛАМ
Пусть теперь некоторый конечный интервал [а, b] на оси Ох разбит на n подынтервалов [хi, хi+1], ко¬то¬рые в дальнейшем будем называть эле¬мен¬тар¬ны¬ми от¬рез¬ка¬ми
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа