home *** CD-ROM | disk | FTP | other *** search
- stanv2 (llc,nr,nc,x,av)
-
- /* the purpose of this function is to compute analysis of */
- /* variance for a 2-way crossed classification without */
- /* replication. */
-
- int llc,nr,nc;
- float av[],x[];
-
- {
-
- int i,j,ij;
- float cr,sum,sumx,sumxx,sumx2,sumr,sumr2,sumc,sumc2;
-
- sumx = 0.0;
- sumx2 = 0.0;
- sumr2 = 0.0;
- sumc2 = 0.0;
-
- for(i = 0; i <= nr-1; i++)
- {
- sumr = 0.0;
- ij = i * llc;
-
- for(j = 0; j <= nc-1; j++)
- {
- sumr = sumr + x[ij];
- ij = ij + 1;
- }
- sumx = sumx + sumr;
- sumr2 = sumr2 + sumr * sumr;
- }
-
- for(j = 0; j <= nc-1; j++)
- {
- sumc = 0.;
- for(i = 0; i <= nr-1; i++)
- {
- ij = j + (i * llc);
- sumx2 = sumx2 + x[ij] * x[ij];
- sumc = sumc + x[ij];
- }
- sumc2 = sumc2 + sumc * sumc;
- }
- sumxx = sumx * sumx;
- cr = nc * nr;
- av[5] = nc - 1.0;
- av[1] = nr - 1.0;
- av[9] = cr - 1.0;
- av[11] = av[5] * av[1];
- av[4] = (nc * sumc2 - sumxx) / cr;
- av[6] = av[4] / av[5];
- av[0] = (nr * sumr2 - sumxx) / cr;
- av[2] = av[0] / av[1];
- av[8] = sumx2 - sumxx / cr;
- av[10] = av[8] - av[0] - av[4];
- av[12] = av[10] / av[11];
- av[7] = av[6] / av[12];
- av[3] = av[2] / av[12];
- }