File: DLINRE.FT of Tape: Various/ETH/prog1
(Source file text)
SUBROUTINE LINREG(NR) C COMMON/INI/ ANF(10,10),DANF(10,10),PH(10,10),DPH(10,10) $,AF(10,10),DAF(10,10),ETA(10,10),DETA(10,10),EMU(10,10), $T(10),DT(10),ANFM(10),DANFM(10) CDC $,F(10,512) COMMON/TESPAR/ A0M,DA0M,AMU0,AF0(10),ETA0(10),A0(10) $,TDJ(10),DTDJ(10),TDM,DTDM COMMON/PARAM/IDENT,HANG,HI,HF,DK,NP,PI,SQHI,DKHI,I0DH,H0AL COMMON/STEER/MR,ADENT(10),MF,FREQ(10),I0 COMMON /LINE/ A,B,DA,DB,SA,SB,SAB,TD,AMU,RR,RMSD,CHI COMMON /REGRES/ XL(10),YL(10),DY(10) COMMON/FRERUN/ IF,JR,INIT,LS COMMON/ACCUR/ DDMU1,DDMU2,DCHI,ERRMU C DIMENSION V(10),P(10) C C LINE FIT: Y=A*X+B TO N POINTS X(I),Y(I) C DA,DB VARIANCES FROM LINE FIT C SA,SB VARIANCES, SAB CORRELATION FROM DY(J) C RR=REGRESSION COEFFICIENT, RMSD=ROOT MEAN SQUARE DEVIATION N=NR SX=0. SY=0. SXX=0. SXY=0. SYY=0. SP=0. DO 60 J=1,N P(J)=1. IF (DY(J).EQ.0.) GO TO 72 P(J)=1./DY(J)**2 72 SX=SX+XL(J)*P(J) SY=SY+YL(J)*P(J) SXX=SXX+XL(J)*XL(J)*P(J) SXY=SXY+XL(J)*YL(J)*P(J) SYY=SYY+YL(J)*YL(J)*P(J) SP=SP+P(J) 60 CONTINUE D=SP*SXX-SX*SX A=(SP*SXY-SX*SY)/D B=(SY*SXX-SX*SXY)/D AMU=-A C VARIANCES FROM LINE FIT IF (N.GT.2) GO TO 75 DA=0. DB=0. RR=0. RMSD=0. CHI=0. GO TO 76 75 CONTINUE Q=0. QA=0. DO 62 J=1,N V(J)=YL(J)-XL(J)*A-B Q=Q+V(J)*V(J)*P(J) QA=QA+(V(J))**2 62 CONTINUE CHI=SQRT(Q/(N-2)) C=SP*SYY-SY*SY DA=CHI*SQRT(SP/D) DB=CHI*SQRT(SXX/D) RR=SQRT(A*A*D/C) RMSD=SQRT(QA/(N-2)) 76 CONTINUE C VARIANCES FROM DY(I) IF (DY(1).NE.0.) GO TO 77 SA=0. SB=0. SAB=0. RETURN 77 SA=SP/D SB=SXX/D SAB=SX/D RETURN END