#include #include int main() { // first uniform distribution // for (double i = 0; i < 40; i+=0.01) { if ((i > (3.95 - 0.0005)) && (i < (3.95 + 0.0005))) { printf("%.6f %.6f\n", i, 1 / 3.95); printf("%.6f %.6f\n", i, 0.0); } else if (i == 0) { printf("%.6f %.6f\n", i, 0.0); printf("%.6f %.6f\n", i, 1 / 3.95); } else if ((i > 0) && (i < 3.95)) { printf("%.6f %.6f\n", i, 1 / 3.95); } else { printf("%.6f %.6f\n", i, 0.0); } } printf("\n"); // ML fit to class 1 // for (double i = 0; i < 40; i+=0.01) { double out = 1 / sqrt(2 * M_PI * 1.30021) * exp(-1.0 / 2.0 * (i - 1.975) * (i - 1.975) / 1.30021); printf("%.6f %.6f\n", i, out); } printf("\n"); // second uniform distribution // for (double i = 0; i < 40; i+=0.01) { if ((i > (4.00 - 0.0005)) && (i < (4.00 + 0.0005))) { printf("%.6f %.6f\n", i, 0.0); printf("%.6f %.6f\n", i, 1 / 36.0); } else if ((i > (40.0 - 0.0005)) && (i < (40.0 + 0.0005))) { printf("%.6f %.6f\n", i, 1 / 36.0); printf("%.6f %.6f\n", i, 0.0); } else if ((i > 4.00) && (i < 40.0)) { printf("%.6f %.6f\n", i, 1 / 36.0); } else { printf("%.6f %.6f\n", i, 0.0); } } printf("\n"); // ML fit to class 2 // for (double i = 0; i < 40; i+=0.01) { double out = 1 / sqrt(2 * M_PI * 108) * exp(-1.0 / 2.0 * (i - 22) * (i - 22) / 108); printf("%.6f %.6f\n", i, out); } return 1; }