File: PNOMFT.FT of Disk: Disks/MyPDP/m8-2-rka1-rkb1
(Source file text)
C PNOMFT.FT = FITTET DIE KOEFFIZIENTEN FUER EIN POLY- C NOM MAXIMAL ZEHNTEN GRADES : C F(X)=A(1)*X+A(2)*X**2+....+A(10)*X**10 C C DATEN IM DATENFILE : DATAWE.FD C EINGABE:ANZAHL WERTEPAARE,RETURN C TAB,X(I),2*TAB,F(X(I)),RETURN C C BEISPIEL: C 2 C 1.0 1.0 C 2.0 4.0 DIMENSION FM(10,10),F(30),X(30),A(10),EPS(10) LPT=3 ITERM=4 IPARO=5 READ(IPARO,5000) NP DO 10 I=1,NP READ(IPARO,5001) X(I),F(I) WRITE(ITERM,5001) X(I),F(I) 10 CONTINUE WRITE(ITERM,4000) READ(ITERM,4001) KMAX IF (KMAX.GT.10) GOTO 110 COM BERECHNUNG FEHLERMATRIX DO 20 I=1,KMAX DO 30 J=1,KMAX FM(I,J)=0.0 DO 40 K=1,NP FM(I,J)=FM(I,J)+X(K)**(I+J)/F(K) 40 CONTINUE 30 CONTINUE 20 CONTINUE DO 25 I=1,KMAX EPS(I)=0.0 DO 35 K=1,NP EPS(I)=EPS(I)+X(K)**I 35 CONTINUE 25 CONTINUE COM BERECHNUNG DREIECKSMATRIX DO 50 K=1,KMAX-1 KK=K+1 DO 60 I=KK,KMAX FAK=FM(I,K)/FM(K,K) EPS(I)=EPS(I)-FAK*EPS(K) DO 70 J=K,KMAX FM(I,J)=FM(I,J)-FAK*FM(K,J) 70 CONTINUE 60 CONTINUE 50 CONTINUE COM BERECHNUNG DER KOEFFIZIENTEN DO 80 I=1,KMAX II=KMAX+1-I A(II)=0.0 SUM=0.0 DO 90 J=II,KMAX SUM=SUM+FM(II,J)*A(J) 90 CONTINUE A(II)=(EPS(II)-SUM)/FM(II,II) 80 CONTINUE DO 100 I=1,KMAX WRITE(ITERM,4002) I,A(I) WRITE(LPT,3000) I,A(I) 100 CONTINUE GOTO 120 110 CONTINUE WRITE(ITERM,4003) GOTO 10 120 CONTINUE WRITE(LPT,3001) DO 130 K=1,NP FUN=0.0 DO 140 I=1,KMAX FUN=FUN+A(I)*X(K)**I 140 CONTINUE DELTA=100.*(FUN-F(K))/F(K) WRITE(LPT,3002) K,X(K),F(K),FUN,DELTA 130 CONTINUE 3000 FORMAT(/,1X,'A(',I2,') = ',G20.8) 3001 FORMAT(//////,1X' I',T18,'X(I)',T37,'F(X)',T55,'POLYNOM',T76, $ 'DEV. %',/) 3002 FORMAT(1X,I2,4F20.8) 4000 FORMAT(///,1X,' ? MAX. KOEFFIZIENT = ',$) 4001 FORMAT(I2) 4002 FORMAT(/,1X,'A(',I2,') = ',G20.8) 4003 FORMAT(/,1X,' ZU GROSS, MAXIMUM IST 10 !!') 5000 FORMAT(I2) 5001 FORMAT(2F20.8) END