ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

90 lines
1.9 KiB

  1. 10 PRINT "NTH-ORDER REGRESSION"
  2. 20 PRINT
  3. 28 REM - SET LIMITS ON DEGREE OF EQUATION TO
  4. 29 REM - A(2D+1),R(D+1,D+2),T(D+2) (WHERE D=MAX. DEGREE OF EQUATION)
  5. 30 DIM A(13),R(7,8),T(8)
  6. 40 PRINT "DEGREE OF EQUATION";
  7. 50 INPUT D
  8. 60 PRINT "NUMBER OF KNOWN POINTS";
  9. 70 INPUT N
  10. 80 A(1)=N
  11. 89 REM - ENTER COORDINATES OF DATA POINTS
  12. 90 FOR I=1 TO N
  13. 100 PRINT "X,Y OF POINT";I;
  14. 110 INPUT X,Y
  15. 118 REM - LINES 120-200 POPULATE MATRICES WITH
  16. 119 REM - A SYSTEM OF EQUATIONS
  17. 120 FOR J=2 TO 2*D+1
  18. 130 A(J)=A(J)+X[(J-1)
  19. 140 NEXT J
  20. 150 FOR K=1 TO D+1
  21. 160 R(K,D+2)=T(K)+Y*X[(K-1)
  22. 170 T(K)=T(K)+Y*X[(K-1)
  23. 180 NEXT K
  24. 190 T(D+2)=T(D+2)+Y[2
  25. 200 NEXT I
  26. 209 REM - LINES 210-490 SOLVE THE SYSTEM OF EQUATIONS IN THE MATRICES
  27. 210 FOR J=1 TO D+1
  28. 220 FOR K=1 TO D+1
  29. 230 R(J,K)=A(J+K-1)
  30. 240 NEXT K
  31. 250 NEXT J
  32. 260 FOR J=1 TO D+1
  33. 270 FOR K=J TO D+1
  34. 280 IF R(K,J)<>0 THEN 320
  35. 290 NEXT K
  36. 300 PRINT "NO UNIQUE SOLUTION"
  37. 310 GOTO 790
  38. 320 FOR I=1 TO D+2
  39. 330 S=R(J,I)
  40. 340 R(J,I)=R(K,I)
  41. 350 R(K,I)=S
  42. 360 NEXT I
  43. 370 Z=1/R(J,J)
  44. 380 FOR I=1 TO D+2
  45. 390 R(J,I)=Z*R(J,I)
  46. 400 NEXT I
  47. 410 FOR K=1 TO D+1
  48. 420 IF K=J THEN 470
  49. 430 Z=-R(K,J)
  50. 440 FOR I=1 TO D+2
  51. 450 R(K,I)=R(K,I)+Z*R(J,I)
  52. 460 NEXT I
  53. 470 NEXT K
  54. 480 NEXT J
  55. 490 PRINT
  56. 495 PRINT " CONSTANT =";R(1,D+2)
  57. 499 REM - PRINT EQUATION COEFFICIENTS
  58. 500 FOR J=1 TO D
  59. 510 PRINT J;"DEGREE COEFFICIENT =";R(J+1,D+2)
  60. 520 NEXT J
  61. 530 PRINT
  62. 539 REM - COMPUTE REGRESSION ANALYSIS
  63. 540 P=0
  64. 550 FOR J=2 TO D+1
  65. 560 P=P+R(J,D+2)*(T(J)-A(J)*T(1)/N)
  66. 570 NEXT J
  67. 580 Q=T(D+2)-T(1)[2/N
  68. 590 Z=Q-P
  69. 600 I=N-D-1
  70. 610 J=P/D
  71. 620 PRINT
  72. 630 J=P/Q
  73. 640 PRINT "COEFFICIENT OF DETERMINATION (R[2) =";J
  74. 650 PRINT "COEFFICIENT OF CORRELATION =";SQR(J)
  75. 660 PRINT "STANDARD ERROR OF ESTIMATE =";SQR(Z/I)
  76. 670 PRINT
  77. 679 REM - COMPUTE Y-COORDINATE FROM ENTERED X -COORDINATE
  78. 680 PRINT "INTERPOLATION:(ENTER 0 TO END PROGRAM)"
  79. 690 P=R(1,D+2)
  80. 700 PRINT "X =";
  81. 710 INPUT X
  82. 720 IF X=0 THEN 790
  83. 730 FOR J=1 TO D
  84. 740 P=P+R(J+1,D+2)*X[J
  85. 750 NEXT J
  86. 760 PRINT "y =";P
  87. 770 PRINT
  88. 780 GOTO 690
  89. 790 END