Вторая пачка часть 115
Вы¬ход¬ные: процедура-функция NEW2 воз¬вра¬щает ве¬щест-вен¬ное значение функции в точке х1 со¬гласно по¬строенному по¬линому.
{ПЕРВАЯ ИНТЕРПОЛЯЦИОННАЯ ФОРМУЛА НЬЮТОНА*}
FUNCTION NEW1 (X,Y: MAS; N: INTEGER; X1:REAL):REAL;
LABEL 30;
VAR I,J,K, N : INTEGER; Q : REAL; R1,R2,R3: MAS;
BEGIN I := 1; J := N;
{ **** РАСЧЕТ КОНЕЧНЫХ РАЗНОСТЕЙ ****
**** ПЕРВОГО, ВТОРОГО И ТРЕТЬЕГО ПОРЯДКОВ ****}
FOR I := 2 TO N DO
BEGIN
R1[I-1] := Y[I] - Y[I-1];
IF I>2 THEN R2 [I-2] := R1[I-1] - R1[I-2];
IF I>3 THEN R3 [I-3] := R2[I-2] - R2[I-3];
END;
{**** МЕТОД ДВОИЧНОГО ПОИСКА ИНТЕРВАЛА ****}
IF X1 < X[I] 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]);
NEW1: = Y[I] + Q * (R1[I] + (Q-1)*(R2[I]/2.0 +
(Q-2) * R3[I] / 6.0));
END.
{***ВТОРАЯ ИНТЕРПОЛЯЦИОННАЯ ФОРМУЛА НЬЮТОНА ***}
FUNCTION NEW2 (X,Y: MAS; N: INTEGER; X1:REAL):REAL;
LABEL 30;
VAR I,J,K,N : INTEGER; Q : REAL; R1,R2,R3: MAS;
BEGIN I := 1; J := N;
{**** РАСЧЕТ КОНЕЧНЫХ РАЗНОСТЕЙ ****
**** ПЕРВОГО, ВТОРОГО И ТРЕТЬЕГО ПОРЯДКОВ ****}
FOR I := 2 TO N DO
BEGIN R1[I-1] := Y[I] - Y[I-1];
IF I>2 THEN R2 [I-2] := R1[I-1] - R1[I-2];
IF I>3 THEN R3 [I-3] := R2[I-2] - R2[I-3];
END;
{**** МЕТОД ДВОИЧНОГО ПОИСКА ИНТЕРВАЛА ****}
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]);
NEW2 := Y[J] + Q * (R1[J-1] +
(Q+1) * (R2[J-2]/2.0 + (Q+2)*R3[J-3]/6.0));
END.
Оценка погрешности первой и второй ин¬тер¬по¬ля¬¬ци¬он¬ных формул Ньютона получается из оцен¬ки по¬греш¬ности интерполяционного поли¬но¬ма Лବгран¬жа. Вве¬дем обоз¬на¬че¬ние h = хi+1 - хi и полагая для пер¬вой ин¬тер¬по¬ля¬ци¬он¬ной фор¬мулы q = (х - х0)/h, а для вто¬рой q = (х - хn)/h, по¬лу¬чим для первой ин¬¬тер¬поляционной формулы
и для второй интерполяционной формулы
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа