home *** CD-ROM | disk | FTP | other *** search
- stmean (i,nx,x,ny,y,a)
-
- /*this subroutine computes the means, variances, and t-ratio for*/
- /*two groups of data.*/
-
- int i,nx,ny;
- float x[],y[],a[];
-
- {
-
- extern double sqrt();
- float sumx,sumx2,sumy,sumy2,sumxy,sumxy2;
- float xn,yn,xn1,yn1,xnxn1,x1dy1,x1py1,a1dxn,a4dyn,f,f2,t;
- int l;
-
- sumx = sumx2 = 0.0;
-
- for (l = 0; l <= nx-1; l++)
-
- {
- sumx = sumx + x[l];
- sumx2 = sumx2 + x[l]*x[l];
- }
-
- sumy = sumy2 = 0.0;
-
- for (l = 0; l <= ny-1; l++)
-
- {
- sumy = sumy + y[l];
- sumy2 = sumy2 + y[l]*y[l];
- }
-
- if (i == 1)
- {
- sumxy = sumxy2 = 0.0;
-
- for (l = 0; l <= nx-1; l++)
- {
- sumxy = sumxy + x[l] - y[l];
- sumxy2 = sumxy2 + (x[l] - y[l])*(x[l] - y[l]);
- }
- }
-
- xn = nx;
- yn = ny;
- xn1 = xn - 1.0;
- yn1 = yn - 1.0;
- xnxn1 = xn * xn1;
- x1py1 = xn1 + yn1;
- a[0] = sumx / xn ;
- a[1] = (xn * sumx2 - sumx * sumx) / xnxn1;
- t = a[2];
- a[2] = sqrt(t);
- a[3] = sumy / yn;
- a[4] = (yn * sumy2 - sumy * sumy) / (yn * yn1);
- t = a[4];
- a[5] = sqrt(t);
- a1dxn = a[1] / xn;
- a4dyn = a[4] / yn;
-
- if (i == 1)
- {
- a[6] = sqrt(a1dxn);
- a[7] = sqrt(a4dyn);
- a[8] = sumxy / xn;
- a[9] = (xn * sumxy2 - sumxy * sumxy) / xnxn1;
- t = a[9] / xn;
- a[10] = sqrt(t);
- a[11] = a[8] / a[10];
- a[12] = xn1 + xn1;
- return;
- }
- a[6] = a[0] - a[3];
- if (i != 3)
- {
- a[7] = (a[1] * xn1 + a[4] * yn1) * (xn + yn) / (x1py1 * xn * yn);
- a[10] = x1py1;
- }
- else
- {
- a[7] = a1dxn + a4dyn;
- f = a1dxn / a[7];
- f2 = f*f;
- a[10] = (xn1 * yn1) / (x1py1 * f2 + xn1 * (1.0 - f - f));
- }
- t = a[7];
- a[8] = sqrt (t);
- a[9] = a[6] / a[8];
-
- }
-