home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-SSP.ARJ / STGEOM.C < prev    next >
Encoding:
Text File  |  1984-07-27  |  707 b   |  36 lines

  1.       stgeom(n,d,gm,gsd)
  2.  
  3.       /*this subroutine computes the geometric mean and standard*/
  4.       /*deviation for a geometrically normal series of data.*/
  5.  
  6.       int n;
  7.       float d[],*gm,*gsd;
  8.  
  9.      {
  10.  
  11.       float en,enm1,bb,b,xlgm;
  12.       int i;
  13.       extern double exp(),log(),sqrt();
  14.  
  15.       *gm = d[0];
  16.       *gsd = 0.0;
  17.       if (n <= 1) return;
  18.       en = n;
  19.       enm1 = en - 1.0;
  20.       bb = log(d[0]);
  21.       *gm = bb;
  22.       b = bb*bb;
  23.  
  24.       for (i = 1; i <= n-1; i++)
  25.       {
  26.         bb = log(d[i]);
  27.         *gm = *gm + bb;
  28.         b = b + bb*bb;
  29.       }
  30.  
  31.       xlgm = *gm/en;
  32.       *gm = exp(xlgm);
  33.       *gsd = exp(sqrt((b - en * xlgm * xlgm)/enm1));
  34.  
  35.      }
  36.