home *** CD-ROM | disk | FTP | other *** search
/ Best of German Only 2 / romside_best_of_german_only_2.iso / dos / anwender / ed / eng / linb0.bas < prev    next >
BASIC Source File  |  1993-04-13  |  4KB  |  166 lines

  1. 10 REM X,Y-PAIRS INTO THE DATAS
  2. 20 DATA  ,
  3. 30 DATA  ,
  4. 40 DATA  ,
  5. 50 DATA  ,
  6. 60 DATA  ,
  7. 70 DATA  ,
  8. 80 DATA  ,
  9. 90 DATA  ,
  10. 100 DATA  ,
  11. 110 DATA  ,
  12. 120 DATA  ,
  13. 130 DATA  ,
  14. 140 DATA  ,
  15. 150 DATA  ,
  16. 160 DATA  ,
  17. 170 DATA  ,
  18. 180 DATA  ,
  19. 190 DATA  ,
  20. 200 DATA  ,
  21. 210 DATA  ,
  22. 220 DATA  ,
  23. 230 DATA  ,
  24. 240 DATA  ,
  25. 250 DATA  ,
  26. 260 DATA  ,
  27. 270 DATA  ,
  28. 280 DATA  ,
  29. 290 DATA  ,
  30. 300 DATA  ,
  31. 310 DATA  ,
  32. 320 DATA  ,
  33. 330 DATA  ,
  34. 340 DATA  ,
  35. 350 DATA  ,
  36. 360 DATA  ,
  37. 370 DATA  ,
  38. 380 DATA  ,
  39. 390 DATA  ,
  40. 400 DATA  ,
  41. 410 DATA  ,
  42. 420 DATA  ,
  43. 430 DATA  ,
  44. 440 DATA  ,
  45. 450 DATA  ,
  46. 460 DATA  ,
  47. 470 DATA  ,
  48. 480 DATA  ,
  49. 490 DATA  ,
  50. 500 DATA  ,
  51. 510 DATA  ,
  52. 520 DATA  ,
  53. 530 DATA  ,
  54. 540 DATA  ,
  55. 550 DATA  ,
  56. 560 DATA  ,
  57. 570 DATA  ,
  58. 580 DATA  ,
  59. 590 DATA  ,
  60. 600 DATA  ,
  61. 610 DATA  ,
  62. 620 REM WRITTEN BY (APRIL 1988 / 1993)
  63. 630 REM KLAUS D. WLOCZYK
  64. 640 REM OTTO-HAHN-STRASSE 7
  65. 650 REM D-63517 RODENBACH
  66. 660 REM GERMANY
  67. 670 REM THIS PROGRAM IS IN THE PUBLIC DOMAIN.  VERSION FOR GW-BASIC 3.20
  68. 680 SCREEN 0,0,0,0:WIDTH 80:CLS
  69. 690 WIDTH LPRINT 80
  70. 700 DEFINT I
  71. 710 DEFSNG A-H,J-Z
  72. 720 PRINT "LINEARE REGRESSION."
  73. 730 PRINT "INTOP IS TO BE ZERO (Y = MX)."
  74. 740 PRINT
  75. 750 PRINT "NUMBER OF X,Y-PAIRS?"
  76. 760 INPUT "(MIN 2, MAX 60) < ",N
  77. 770 IF N>60 OR N<2 THEN 750
  78. 780 PRINT
  79. 790 PRINT "CALCULATING ...";
  80. 800 DIM X(60),Y(60)
  81. 810 S1=0
  82. 820 S2=0
  83. 830 S3=0
  84. 840 S4=0
  85. 850 S5=0
  86. 860 S6=0
  87. 870 S7=0
  88. 880 T=0
  89. 890 FOR I=1 TO N
  90. 900 READ X(I),Y(I)
  91. 910 S1=S1+X(I)
  92. 920 S2=S2+Y(I)
  93. 930 S3=S3+X(I)*Y(I)
  94. 940 S4=S4+X(I)*X(I)
  95. 950 T=T+Y(I)*Y(I)
  96. 960 NEXT I
  97. 970 M1=S1/N
  98. 980 M2=S2/N
  99. 990 M=S3/S4
  100. 1000 S5=S4-(S1*S1)/N
  101. 1010 S6=T-(S2*S2)/N
  102. 1020 S5=SQR(S5/(N-1))
  103. 1030 S6=SQR(S6/(N-1))
  104. 1040 S7=T-M*S3
  105. 1050 S8=S7/S4/(N-1)
  106. 1060 S8=SQR(S8)
  107. 1070 PRINT
  108. 1080 PRINT "PRINT(0) OR LPRINT(1)?"
  109. 1090 INPUT "(LPRINT IS STILL POSSIBLE AFTER PRINT) < ",ISW
  110. 1100 PRINT
  111. 1110 IF ISW<>0 AND ISW<>1 THEN GOTO 1080
  112. 1120 IF ISW=1 THEN GOTO 1370
  113. 1130 PRINT
  114. 1140 PRINT "SLOPE M =";M
  115. 1150 PRINT "SIGMA M =";S8
  116. 1160 PRINT
  117. 1170 PRINT "SUM X =";S1
  118. 1180 PRINT "SUM Y =";S2
  119. 1190 PRINT "MEAN VALUE X =";M1
  120. 1200 PRINT "MEAN VALUE Y =";M2
  121. 1210 PRINT "SIGMA X =";S5
  122. 1220 PRINT "SIGMA Y =";S6
  123. 1230 PRINT
  124. 1240 PRINT "SUM X^2 =";S4
  125. 1250 PRINT "SUM Y^2 =";T
  126. 1260 PRINT "SUM X*Y =";S3
  127. 1270 PRINT "SUM (Y-Y')^2 =";S7
  128. 1280 PRINT
  129. 1290 PRINT " NO.  X             Y             Y'                       Y'-Y"
  130. 1300 PRINT
  131. 1310 FOR I=1 TO N
  132. 1320 A=M*X(I)
  133. 1330 D=Y(I)-A
  134. 1340 PRINT SPACE$(3-LEN(STR$(I)));STR$(I);" ";STR$(X(I));SPACE$(14-LEN(STR$(X(I))));STR$(Y(I));SPACE$(14-LEN(STR$(Y(I))));STR$(A);SPACE$(25-LEN(STR$(A)));STR$(D)
  135. 1350 NEXT I
  136. 1360 GOTO 1070
  137. 1370 LPRINT
  138. 1380 LPRINT "SLOPE M =";M
  139. 1390 LPRINT "SIGMA M =";S8
  140. 1400 LPRINT
  141. 1410 LPRINT "SUM X =";S1
  142. 1420 LPRINT "SUM Y =";S2
  143. 1430 LPRINT "MEAN VALUE X =";M1
  144. 1440 LPRINT "MEAN VALUE Y =";M2
  145. 1450 LPRINT "SIGMA X =";S5
  146. 1460 LPRINT "SIGMA Y =";S6
  147. 1470 LPRINT
  148. 1480 LPRINT "SUM X^2 =";S4
  149. 1490 LPRINT "SUM Y^2 =";T
  150. 1500 LPRINT "SUM X*Y =";S3
  151. 1510 LPRINT "SUM (Y-Y')^2 =";S7
  152. 1520 LPRINT
  153. 1530 LPRINT
  154. 1540 LPRINT " NO.  X             Y             Y'                       Y'-Y"
  155. 1550 LPRINT
  156. 1560 IPR=19
  157. 1570 FOR I=1 TO N
  158. 1580 IPR=IPR+1
  159. 1590 IF IPR>32 THEN INPUT "INSERT NEW SHEET OF PAPER, THEN PRESS RETURN < ",W$:IPR=1
  160. 1600 A=M*X(I)
  161. 1610 D=Y(I)-A
  162. 1620 LPRINT SPACE$(3-LEN(STR$(I)));STR$(I);" ";STR$(X(I));SPACE$(14-LEN(STR$(X(I))));STR$(Y(I));SPACE$(14-LEN(STR$(Y(I))));STR$(A);SPACE$(25-LEN(STR$(A)));STR$(D)
  163. 1630 NEXT I
  164. 1640 GOTO 1070
  165. 1650 END
  166.