home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antennas
/
Antennas_CD-ROM_Walnut_Creek_September_1996.iso
/
mathaids
/
misc
/
logreg.asc
< prev
next >
Wrap
Text File
|
1996-06-30
|
2KB
|
41 lines
10 PRINT "N-TH ORDER LOG REGRESSION": REM S & E PROGRAMS,EXTENDED RPH JUN 85
20 DIM A(13), R(7, 8), T(8)
30 INPUT "NUMBER OF DATA PAIRS"; N
32 DIM X(N), Y(N)
34 FOR I = 1 TO N: PRINT "ENTER X,Y OF DATA PAIR"; I: INPUT X(I), Y(I): Y(I) = LOG(Y(I)): NEXT I
40 INPUT "DEGREE OF EQUATION"; D: PRINT "WAIT-PROCESSING": PRINT
45 FOR K = 0 TO 13: A(K) = 0: NEXT K
46 FOR K = 0 TO 8: T(K) = 0: NEXT K
50 A(1) = N: FOR I = 1 TO N: X = X(I): Y = Y(I)
60 FOR J = 2 TO 2 * D + 1: A(J) = A(J) + X ^ (J - 1): NEXT J
70 FOR K = 1 TO D + 1: R(K, D + 2) = T(K) + Y * X ^ (K - 1): T(K) = T(K) + Y * X ^ (K - 1): NEXT K
80 T(D + 2) = T(D + 2) + Y * Y: NEXT I
90 FOR J = 1 TO D + 1: FOR K = 1 TO D + 1: R(J, K) = A(J + K - 1): NEXT K: NEXT J
100 FOR J = 1 TO D + 1: FOR K = J TO D + 1: IF R(K, J) <> 0 THEN 120
110 NEXT K: PRINT "NO UNIQUE SOLUTION": GOTO 260
120 FOR I = 1 TO D + 2: S = R(J, I): R(J, I) = R(K, I): R(K, I) = S: NEXT I
130 Z = 1 / R(J, J): FOR I = 1 TO D + 2: R(J, I) = Z * R(J, I): NEXT I
140 FOR K = 1 TO D + 1: IF K = J THEN 160
150 Z = -R(K, J): FOR I = 1 TO D + 2: R(K, I) = R(K, I) + Z * R(J, I): NEXT I
160 NEXT K: NEXT J
170 PRINT "CONSTANT TERM ="; R(1, D + 2): PRINT
180 FOR J = 1 TO D: PRINT "X^"; J; " COEFFICIENT="; R(J + 1, D + 2): NEXT J: PRINT
190 P = 0: FOR J = 2 TO D + 1: P = P + R(J, D + 2) * (T(J) - A(J) * T(1) / N): NEXT J
200 Q = T(D + 2) - T(1) ^ 2 / N: Z = Q - P: I = N - D - 1: J = P / Q
210 PRINT : PRINT "COEFFICIENT OF": PRINT "DETERMINATION": PRINT "R^2 ="; J
220 PRINT : PRINT "CORRELATION COEFFICIENT ="; SQR(J)
230 PRINT : PRINT "STANDARD ERROR ="; SQR(Z / I): PRINT
240 INPUT "INTERPOLATE VALUE, 0=END"; X: IF X = 0 THEN 260
250 P = R(1, D + 2): FOR J = 1 TO D: P = P + R(J + 1, D + 2) * X ^ J: NEXT J: PRINT "Y="; EXP(P): PRINT : GOTO 240
260 PRINT "ENTER D=ANOTHER DEGREE,N=NEW VALUES OR P=PRINTOUT": INPUT TE$
270 IF TE$ = "D" THEN 40
280 IF TE$ = "N" THEN CLS : GOTO 20
290 IF TE$ = "P" THEN TE$ = "": GOTO 320
300 STOP
310 REM PRINTER ROUTINE
320 LPRINT "***** NTH ORDER LOG REGRESSION *****"
330 LPRINT "I", "X", "Y"
340 FOR I = 1 TO N: LPRINT I, X(I), Y(I): NEXT I
350 GOTO 260