Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. void get_Statistikwerte(struct istats& werte, int anzahl)
  2. {
  3. float summe = 0.0;
  4.  
  5.  
  6. //Berechne minimum
  7. werte.minimum = werte.iwerte[0];
  8. for (int i = 0; i < anzahl; i++)
  9. {
  10. if (werte.minimum > werte.iwerte[i])
  11. {
  12. werte.minimum = werte.iwerte[i];
  13. }
  14. }
  15.  
  16. //berechne maximum
  17. werte.maximum = werte.iwerte[0];
  18. for (int i = 0; i < anzahl; i++)
  19. {
  20. if (werte.maximum < werte.iwerte[i])
  21. {
  22. werte.maximum = werte.iwerte[i];
  23. }
  24. }
  25.  
  26. //Berechne Mittelwert
  27. for (int i = 0; i < anzahl; i++)
  28. {
  29. summe += werte.iwerte[i];
  30. }
  31. werte.mittelwert = summe / anzahl;
  32.  
  33. //Berechne Streuung
  34. werte.streuung = 0.0;
  35. for (int index = 0; index < anzahl; index++)
  36. {
  37. // wurde vorgegeben also diese formel. s = (E(wert - mittelwert)²) / anzahl - 1.
  38. werte.streuung += pow(werte.iwerte[index] - werte.mittelwert, 2);
  39. }
  40. werte.streuung /= (float)anzahl - 1.0;
  41.  
  42. //Berechne Standartabweichung
  43. werte.standardabweichung = sqrt(werte.streuung);
  44.  
  45.  
  46. //Berechne Modalwerte
  47.  
  48. int treffer = 0;
  49. werte.modalanzahl = 0;
  50.  
  51. for (int i1 = 0; i1 < anzahl; i1++)
  52. {
  53. treffer = 0;
  54.  
  55. for (int i2 = 0; i2 < anzahl; i2++)
  56. {
  57. if (werte.iwerte[i2] == werte.iwerte[i1])
  58. {
  59. treffer++;
  60. }
  61. }
  62. if (werte.modalanzahl < treffer && treffer != 1)
  63. {
  64. werte.modalanzahl = treffer;
  65. werte.modalwert = werte.iwerte[i1];
  66. }
  67. }
  68. if (werte.modalanzahl == 0)
  69. {
  70. werte.modalwert = NULL;
  71. }
  72.  
  73. //Berechne Spannweite
  74. werte.spannweite = fabs(werte.maximum - werte.minimum); //fabs, falls man mit negativen zahlen rechnet
  75.  
  76. }
  77.  
  78. void get_Statistikwerte(struct fstats &werte, int anzahl)
  79. {
  80. float summe = 0.0;
  81.  
  82. //Berechne minimum
  83. werte.minimum = werte.fwerte[0];
  84. for (int i = 0; i < anzahl; i++)
  85. {
  86. if (werte.minimum > werte.fwerte[i])
  87. {
  88. werte.minimum = werte.fwerte[i];
  89. }
  90. }
  91.  
  92. //berechne maximum
  93. werte.maximum = werte.fwerte[0];
  94. for (int i = 0; i < anzahl; i++)
  95. {
  96. if (werte.maximum < werte.fwerte[i])
  97. {
  98. werte.maximum = werte.fwerte[i];
  99. }
  100. }
  101.  
  102. //Berechne Mittelwert
  103. for (int i = 0; i < anzahl; i++)
  104. {
  105. summe += werte.fwerte[i];
  106. }
  107. werte.mittelwert = summe / anzahl;
  108.  
  109. //Berechne Streuung
  110. werte.streuung = 0.0;
  111. for (int index = 0; index < anzahl; index++)
  112. {
  113. // wurde vorgegeben also diese formel. s = (E(wert - mittelwert)²) / anzahl - 1.
  114. werte.streuung += pow(werte.fwerte[index] - werte.mittelwert, 2);
  115. }
  116. werte.streuung /= (float)anzahl - 1.0;
  117.  
  118. //Berechne Standartabweichung
  119. werte.standardabweichung = sqrt(werte.streuung);
  120.  
  121.  
  122. //Berechne Modalwerte
  123.  
  124. int treffer = 0;
  125. werte.modalanzahl = 0;
  126.  
  127. for (int i1 = 0; i1 < anzahl; i1++)
  128. {
  129. treffer = 0;
  130.  
  131. for (int i2 = 0; i2 < anzahl; i2++)
  132. {
  133. if (werte.fwerte[i2] == werte.fwerte[i1])
  134. {
  135. treffer++;
  136. }
  137. }
  138. if (werte.modalanzahl < treffer && treffer != 1)
  139. {
  140. werte.modalanzahl = treffer;
  141. werte.modalwert = werte.fwerte[i1];
  142. }
  143. }
  144. if (werte.modalanzahl == 0)
  145. {
  146. werte.modalwert = NULL;
  147. }
  148.  
  149.  
  150. //Berechne Spannweite
  151. werte.spannweite = fabs(werte.maximum - werte.minimum); //fabs, falls man mit negativen zahlen rechnet
  152.  
  153.  
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement