home *** CD-ROM | disk | FTP | other *** search
/ Best of German Only 1 / romside_best_of_german_only_1.iso / anwender / ed / linreg.bas < prev    next >
BASIC Source File  |  1992-11-29  |  4KB  |  177 lines

  1. 10 REM WERTEPAARE IN DEN 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 GESCHRIEBEN VON (1980 / 25.4.1988 / 10.11.1992)
  63. 630 REM KLAUS-DIETER WLOCZYK
  64. 640 REM OTTO-HAHN-STRASSE 7
  65. 650 REM DW-6458 RODENBACH 1
  66. 660 REM GERMANY
  67. 670 REM DIESES PROGRAMM IST IN DER PUBLIC DOMAIN
  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 (Y = MX + B)."
  73. 730 PRINT
  74. 740 PRINT "ANZAHL DER WERTEPAARE?"
  75. 750 INPUT "(MIN 3, MAX 60) < ",N
  76. 760 IF N>60 OR N<3 THEN 740
  77. 770 PRINT "RECHNUNG ...";
  78. 780 DIM X(60),Y(60)
  79. 790 S1=0
  80. 800 S2=0
  81. 810 S3=0
  82. 820 S4=0
  83. 830 S5=0
  84. 840 S6=0
  85. 850 S7=0
  86. 860 T=0
  87. 870 FOR I=1 TO N
  88. 880 READ X(I),Y(I)
  89. 890 S1=S1+X(I)
  90. 900 S2=S2+Y(I)
  91. 910 S3=S3+X(I)*Y(I)
  92. 920 S4=S4+X(I)*X(I)
  93. 930 T=T+Y(I)*Y(I)
  94. 940 NEXT I
  95. 950 M1=S1/N
  96. 960 M2=S2/N
  97. 970 M=(S3-S1*S2/N)/(S4-(S1*S1)/N)
  98. 980 B=(S2-M*S1)/N
  99. 990 S5=S4-(S1*S1)/N
  100. 1000 S6=T-(S2*S2)/N
  101. 1010 S5=SQR(S5/(N-1))
  102. 1020 S6=SQR(S6/(N-1))
  103. 1030 R=M*S5/S6
  104. 1040 S7=T-M*S3-B*S2
  105. 1050 S8=N*S7/((N-2)*(N*S4-(S1*S1)))
  106. 1060 S8=SQR(S8)
  107. 1070 S9=S4*S7/((N-2)*(N*S4-(S1*S1)))
  108. 1080 S9=SQR(S9)
  109. 1090 PRINT
  110. 1100 PRINT "PRINT(0) ODER LPRINT(1)?"
  111. 1110 INPUT "LPRINT NACH PRINT NOCH MOEGLICH < ",ISW
  112. 1120 PRINT
  113. 1130 IF ISW<>0 AND ISW<>1 THEN GOTO 1100
  114. 1140 IF ISW=1 THEN GOTO 1430
  115. 1150 PRINT
  116. 1160 PRINT "STEIGUNG M =";M
  117. 1170 PRINT
  118. 1180 PRINT "ACHSENABSCHNITT B =";B
  119. 1190 PRINT
  120. 1200 PRINT "KORRKOEFF R =";R
  121. 1210 PRINT "SIGMA M =";S8
  122. 1220 PRINT "SIGMA B =";S9
  123. 1230 PRINT "SUMME X =";S1
  124. 1240 PRINT "SUMME Y =";S2
  125. 1250 PRINT "MITTELWERT X =";M1
  126. 1260 PRINT "MITTELWERT Y =";M2
  127. 1270 PRINT "SIGMA X =";S5
  128. 1280 PRINT "SIGMA Y =";S6
  129. 1290 PRINT
  130. 1300 PRINT "SUMME X^2 =";S4
  131. 1310 PRINT "SUMME Y^2 =";T
  132. 1320 PRINT "SUMME X*Y =";S3
  133. 1330 PRINT "SUMME (Y-Y')^2 =";S7
  134. 1340 PRINT
  135. 1350 PRINT " NR.  X             Y             Y'                       Y'-Y"
  136. 1360 PRINT
  137. 1370 FOR I=1 TO N
  138. 1380 A=M*X(I)+B
  139. 1390 D=Y(I)-A
  140. 1400 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)
  141. 1410 NEXT I
  142. 1420 GOTO 1090
  143. 1430 LPRINT
  144. 1440 LPRINT "STEIGUNG M =";M
  145. 1450 LPRINT
  146. 1460 LPRINT "ACHSENABSCHNITT B =";B
  147. 1470 LPRINT
  148. 1480 LPRINT "KORRKOEFF R =";R
  149. 1490 LPRINT "SIGMA M =";S8
  150. 1500 LPRINT "SIGMA B =";S9
  151. 1510 LPRINT
  152. 1520 LPRINT "SUMME X =";S1
  153. 1530 LPRINT "SUMME Y =";S2
  154. 1540 LPRINT "MITTELWERT X =";M1
  155. 1550 LPRINT "MITTELWERT Y =";M2
  156. 1560 LPRINT "SIGMA X =";S5
  157. 1570 LPRINT "SIGMA Y =";S6
  158. 1580 LPRINT
  159. 1590 LPRINT "SUMME X^2 =";S4
  160. 1600 LPRINT "SUMME Y^2 =";T
  161. 1610 LPRINT "SUMME X*Y =";S3
  162. 1620 LPRINT "SUMME (Y-Y')^2 =";S7
  163. 1630 LPRINT
  164. 1640 LPRINT
  165. 1650 LPRINT " NR.  X             Y             Y'                       Y'-Y"
  166. 1660 LPRINT
  167. 1670 IPR=24
  168. 1680 FOR I=1 TO N
  169. 1690 IPR=IPR+1
  170. 1700 IF IPR>32 THEN INPUT "NEUES BLATT EINLEGEN, DANN RETURN < ",W$:IPR=1
  171. 1710 A=M*X(I)+B
  172. 1720 D=Y(I)-A
  173. 1730 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)
  174. 1740 NEXT I
  175. 1750 GOTO 1090
  176. 1760 END
  177.