Задача: Вычисление среднего, среднего отклонения, среднеквадратического отклонения и дисперсии заданной выборки
Исходник: Среднее, среднее отклонение, среднеквадратическое отклонение, дисперсия, язык: C [code #105, hits: 8014]
автор: - [добавлен: 27.04.2006]
  1. /* bs01d.f -- translated by f2c (version 20000817).
  2. You must link the resulting object file with the libraries:
  3. -lf2c -lm (in that order)
  4. */
  5.  
  6. #include "f2c.h"
  7.  
  8. /* Subroutine */ int bs01d_c(doublereal *data, integer *n, doublereal *ave,
  9. doublereal *adev, doublereal *var, doublereal *sdev)
  10. {
  11. /* System generated locals */
  12. integer i__1;
  13.  
  14. /* Builtin functions */
  15. double sqrt(doublereal);
  16.  
  17. /* Local variables */
  18. static integer j;
  19. static doublereal p, s;
  20.  
  21. /* IF(N.LE.1)PAUSE 'N must be at least 2' */
  22. /* Parameter adjustments */
  23. --data;
  24.  
  25. /* Function Body */
  26. s = 0.;
  27. i__1 = *n;
  28. for (j = 1; j <= i__1; ++j) {
  29. s += data[j];
  30. /* L11: */
  31. }
  32. *ave = s / *n;
  33. *adev = 0.;
  34. *var = 0.;
  35. i__1 = *n;
  36. for (j = 1; j <= i__1; ++j) {
  37. s = data[j] - *ave;
  38. *adev += abs(s);
  39. p = s * s;
  40. *var += p;
  41. /* L12: */
  42. }
  43. *adev /= *n;
  44. *var /= *n - 1;
  45. *sdev = sqrt(*var);
  46. return 0;
  47. } /* bs01d_c */
  48.  
Отличается от <a href="/source/104" class="link">code#104</a> небольшими "косметическими" доработками.

Найдено на http://www.srcc.msu.su/

+добавить реализацию