- for (ix = 0; ix < nx; ix++)
- {
- for (iy = 0; iy < ny; iy++)
- {
- if (v[ix][iy] > maxfound)
- maxfound = v[ix][iy];
- if (v[ix][iy] < minfound)
- minfound = v[ix][iy];
- mean += v[ix][iy];
- }
- }
- spread = maxfound - minfound;
- if (spread == 0)
- mode = minfound;
- else
- {
- for (ibin = 0; ibin < nbin; ibin++)
- hist[ibin] = 0;
- for (ix = 0; ix < nx; ix++)
- {
- for (iy = 0; iy < ny; iy++)
- {
- int b = (int) ((((v[ix][iy] - minfound) / spread) * (double) maxbin) + 0.5);
- hist[b]++;
- }
- }
- max_binindex = 0;
- max_bin = -1;
- for (ibin = 0; ibin < nbin; ibin++)
- {
- if (hist[ibin] > max_bin)
- {
- max_bin = hist[ibin];
- max_binindex = ibin;
- }
- }
- mode = (((double) max_binindex) * spread / ((double) maxbin)) + minfound;
- }
-
- mean /= nx * ny;
- for (ix = 0; ix < nx; ix++)
- {
- for (iy = 0; iy < ny; iy++)
- {
- double diff = (v[ix][iy] - mean);
- stddev += diff * diff;
- }
- }
- stddev = sqrt(stddev / (nx * ny));
- fprintf(stdout,"nx=%d\n", nx);
- fprintf(stdout,"ny=%d\n", ny);
- fprintf(stdout,"min=%f\n", minfound);
- fprintf(stdout,"max=%f\n", maxfound);
- fprintf(stdout,"mean=%f\n", mean);
- fprintf(stdout,"mode=%f\n", mode);
- fprintf(stdout,"stddev=%f\n", stddev);
- }
-