Вторая пачка часть 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, по¬лу¬чим для первой ин¬¬тер¬поляционной формулы и для второй интерполяционной формулы
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz