CTITLEMPLYFT -- POLYNOMIAL INTERPOLATION 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA 00000020 CA AUTHOR DAVE D. THOMPSON 00000030 CA DESIGNER DAVE D. THOMPSON 00000040 CA LANGUAGE FORTRAN IV 00000050 C WRITTEN 1971 00000060 CA 00000070 CA 00000080 CA PURPOSE: THIS SUBROUTINE PERFORMS POLYNOMIAL INTERPOLATION 00000090 CA FOR UNIFORMLY SAMPLED DATA PARAMETERS. 00000100 CA 00000110 CA 00000120 CA 00000130 CA CALL MPLYFT (Y,XX,YY,ID) 00000140 CA 00000150 CA INPUT Y = DATA ARRAY (LENGTH ID+1) R4 00000160 CA INPUT XX = SAMPLE NUMBER (NONINTEGER) OF DESIRED R4 00000170 CA DATA VALUE (INPUT) 00000180 CA INPUT ID = DEGREE OF POLYNOMIAL INTERPOLATION I4 00000190 CA OUTPUT YY = INTERPOLATED DATA VALUE AT SAMPLE XX R4 00000200 CA 00000210 SUBROUTINE MPLYFT(Y,XX,YY,ID) 00000220 DIMENSION Y(1) 00000230 N=ID+1 00000240 YY=0. 00000250 DO 20 00000260 * I = 1, N 00000270 P = Y(I) 00000280 DO 10 00000290 * J = 1, N 00000300 IF(J .EQ. I) GO TO 10 00000310 P = P * (XX - J) / (I - J) 00000320 C 00000330 10 CONTINUE 00000340 C 00000350 20 YY = YY + P 00000360 RETURN 00000370 END 00000380