print5.c 951 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include <grass/gis.h>
  2. #include <grass/glocale.h>
  3. #include <grass/imagery.h>
  4. #include <grass/cluster.h>
  5. int print_separability(FILE * fd, struct Cluster *C)
  6. {
  7. int c1, c2;
  8. int first, last;
  9. double I_cluster_separation();
  10. double q;
  11. I_cluster_sum2(C);
  12. fprintf(fd, _("\nclass separability matrix\n\n"));
  13. for (first = 0; first < C->nclasses; first = last) {
  14. last = first + 10;
  15. if (last > C->nclasses)
  16. last = C->nclasses;
  17. fprintf(fd, "\n ");
  18. for (c2 = first; c2 < last; c2++)
  19. fprintf(fd, " %3d", c2 + 1);
  20. fprintf(fd, "\n\n");
  21. for (c1 = first; c1 < C->nclasses; c1++) {
  22. fprintf(fd, "%3d ", c1 + 1);
  23. for (c2 = first; c2 <= c1 && c2 < last; c2++) {
  24. q = I_cluster_separation(C, c1, c2);
  25. if (q == 0.0)
  26. fprintf(fd, " %5d", 0);
  27. else if (q > 0.0)
  28. fprintf(fd, " %5.1f", q);
  29. else
  30. fprintf(fd, " --- ");
  31. }
  32. fprintf(fd, "\n");
  33. }
  34. fprintf(fd, "\n");
  35. }
  36. return 0;
  37. }