CTITLEMTRPLT -- PARAMETER INTERPLOATION (FOR TWO PARAMETER VALUES) 00000100 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR L. B. LIN 00000200 CA DESIGNER DENNIS CORRIGAN 00000300 CA LANGUAGE FORTRAN 00000400 CA SYSTEM IBM AND CRAY 00000500 CA WRITTEN 03-15-83 00000600 C REVISED 00000700 C 00000800 CA 00000900 CA 00001000 CA CALL MTRPLT (N, REC, STM, ETM, R, S, E) 00001100 CA INPUT N = NUMBER OF CONTROL POINTS I4 00001200 CA INPUT REC = RECORD NUMBERS AT CONTROL POINTS R4 00001300 CA INPUT STM = 1ST PARAMETER VALUES AT CONTROL POINTS R4 00001400 CA INPUT ETM = 2ND PARAMETER VALUES AT CONTROL POINTS R4 00001500 CA INPUT R = RECORD NUMBER FOR WHICH THE VALUE IS 00001600 CA DESIRED R4 00001700 CA OUTPUT S = OUTPUT INTERPOLATED 1ST PARAMETER R4 00001800 CA OUTPUT E = OUTPUT INTERPOLATED 2ND PARAMETER R4 00001900 CA 00002000 CA 00002100 CA THIS ROUTINE PERFORMS A TWO-VALUE PARAMETER INTERPOLATION. 00002200 CAEND 00002300 C EJECT 00002400 SUBROUTINE MTRPLT (N, REC, STM, ETM, R, S, E) 00002500 C 00002600 DIMENSION REC(1), STM(1), ETM(1) 00002700 C 00002800 I = 1 00002900 IF (R .GT. REC(I)) GO TO 20 00003000 10 S = STM(I) 00003100 E = ETM(I) 00003200 RETURN 00003300 C 00003400 20 I = N 00003500 IF (R .GE. REC(I)) GO TO 10 00003600 C 00003700 C MUST INTERPOLATE 00003800 C 00003900 N2C = N - 1 00004000 C 00004100 DO 30 I = 1, N2C 00004200 C 00004300 IF (R .GT. REC(I+1)) GO TO 30 00004400 GO TO 40 00004500 30 CONTINUE 00004600 C 00004700 40 D = REC(I+1) - REC(I) 00004800 S = STM(I+1)*(R-REC(I)) + STM(I)*(REC(I+1)-R) 00004900 E = ETM(I+1)*(R-REC(I)) + ETM(I)*(REC(I+1)-R) 00005000 S = S/D 00005100 E = E/D 00005200 RETURN 00005300 END 00005400