1 ! PROGRAM MRCAP2, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM MRCAP2 IS PART OF THE MULTIPLE REGRESSION ANALYSIS. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE ! LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN, 54911 ! 10 DIM Q1%(30%) ! FUNCTION TO CREATE FILE EXT. BASED ON JOB# 20 DEF FNZ$ : IF Q1%(0%)=30% THEN 30 ELSE CHANGE SYS(CHR$(6%)+CHR$(9%)+CHR$(0%)) TO Q1% : Z8$=".J"+RIGHT(NUM$(Q1%(1%)/2%),2%) 30 FNZ$=Z8$ ! EXTENSION IS ".J"+ JOB # 40 FNEND 100 OPEN "DAT1"+FNZ$ AS FILE 1% : OPEN L1$(1%) AS FILE 2% : OPEN "MRC"+FNZ$ AS FILE 3% 110 DIM#1%,X(200,50),H$(30)=2%,C(50,50),M4(0),M5(0),M9(0),N(0),J9(0), I4(0),I7(0),N6(0),X2(50),L1$(8%)=32% 120 DIM #2%, N$(50%)=8%,M1$(50%)=64%,O%(50%),P%(50%),D$(50%)=8%, T(50%),D(10000%) 130 DIM#3%,I9%(24%),X9(71%),R9(800%),X8(1600%),A9(10%),C9(20%), C8(20%),H1%(8%) 140 N=C9(1) : K=C9(4) 150 M2%=K+1 : FOR J=1 TO K : X9(16+J)=0 : NEXT J 160 FOR J=1 TO K : L1%=K*(J-1) : FOR I=1 TO K : L%=L1%+I : X9(16+J)=X9(16+J)+X9(64+I)*R9(400+L%) : NEXT I : NEXT J 170 R9=0 : B0=0 : L1%=I9%(M2%) : FOR I= 1 TO K : R9=R9+X9(16+I)*X9(64+I) : L%=I9%(I) : X9(16+I)=X9(16+I)*(X9(8+L1%)/X9(8+L%)) : B0=B0+X9(16+I)*X9(L%) : NEXT I 180 B0=X9(L1%)-B0 190 S9=R9*X9(40+L1%) 200 R9=SQR(ABS(R9)) : S8=X9(40+L1%)-S9 : F9=N-K-1 : S7=S8/F9 : FOR J=1 TO K : L1%=K*(J-1)+J : L%=I9%(J) 210 X9(24+J)=SQR(ABS((R9(400+L1%)/X9(40+L%))*S7)) : X9(32+J)=X9(16+J)/X9(24+J) : NEXT J 220 S7=SQR(ABS(S7)) : F8=K : S6=S9/F8 : S5=S8/F9 230 F=S6/S5 : A9(1)=B0 : A9(2)=R9 : A9(3)=S7 : A9(4)=S9 : A9(5)=F8 240 A9(6)=S6 : A9(7)=S8 : A9(8)=F9 : A9(9)=S5 : A9(10)=F 250 C9(1)=N : C9(4)=K 260 N=C9(1) : M=C9(2) : N8%=C9(3) : K=C9(4) 270 N6%=C9(5) : N2%=C9(14) : S5=C9(16) 280 I=0 : J%=N*(N6%-1)+1% : J2%=N*N6% 290 FOR J3%=J% TO J2% : I=I+1 : R9(600+I)=X8(J3%) : X8(J3%)=1 : NEXT J3% !****CALL MXTX**** 300 J0%=M*M : FOR I0=1 TO J0% : R9(200+I0)=0 : NEXT I0 310 FOR I0= 1 TO M : FOR J0=1 TO M : I9%=M*(I0-1)+J0 : FOR K0=1 TO N 320 I8%=N*(I0-1)+K0 : J9%=N*(J0-1)+K0 330 R9(200+I9%)=R9(200+I9%)+X8(I8%)*X8(J9%) : NEXT K0 : NEXT J0 : NEXT I0 !****END MXTX*** 340 C9(1)=N : C9(2)=M : C9(3)=N8% : C9(4)=K : C9(5)=N6% : C9(14)=N2% : C9(16)=S5 350 C8(1)=I : C8(2)=J% : C8(3)=J2% : C8(4)=J3% : C8(5)=M 360 DIM A(8,8) : D%=ABS(C8(5)) : K%=0% : FOR I%=1% TO 8% : FOR J% =1% TO 8% : A(I%,J%)=0 : NEXT J% : NEXT I% 370 FOR I%=1% TO D% : FOR J%=1% TO D% : K%=K%+1% : A(I%,J%)= R9(200+K%) : NEXT J% : NEXT I% : A(I%,I%)=1 FOR I%=D%+1% TO 8% UNLESS D%=8% 380 MAT A=INV(A) : K%=0% : FOR I%=1% TO D% : FOR J%=1% TO D% : K%=K%+1% : R9(200+K%)=A(I%,J%) : NEXT J% : NEXT I% 390 N=C9(1) : M=C9(2) : N8%=C9(3) : K=C9(4) 400 N6%=C9(5) : N2%=C9(14) : S5=C9(16) 410 I=C8(1) : J%=C8(2) : J2%=C8(3) : J3%=C8(4) : M=C8(5) 420 M2%=M*M : FOR I=1 TO M2% : R9(200+I)=R9(200+I)*(A9(3))^2 : NEXT I 430 I=M*(N6%-1)+N6% : S5=SQR(ABS(R9(200+I))) : I=0 440 FOR J3%=J% TO J2% : I=I+1 : X8(J3%)=R9(600+I) : NEXT J3% 450 C9(1)=N : C9(2)=M : C9(3)=N8% : C9(4)=K : C9(5)=N6% : C9(14)=N2% : C9(16)=S5 460 CLOSE 1%,2%,3% : CHAIN "MRCAP3" 32767 END