diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 39 |
1 files changed, 23 insertions, 16 deletions
@@ -287,13 +287,13 @@ int main(void) printf("chisq/dof = %g / %g = %g\n", pow(chi, 2.0), dof, pow(chi, 2.0) / dof); - printf("\nI think the unit cell is:\n"); - printf("\t\ta = %8.5f +/- %8.5f\n", FIT(0), c*ERR(0)); - printf("\t\tb = %8.5f +/- %8.5f\n", FIT(1), c*ERR(1)); - printf("\t\tc = %8.5f +/- %8.5f\n", FIT(2), c*ERR(2)); - printf("\t\talpha = %8.5f +/- %8.5f\n", FIT(3), c*ERR(3)); - printf("\t\t beta = %8.5f +/- %8.5f\n", FIT(4), c*ERR(4)); - printf("\t\tgamma = %8.5f +/- %8.5f\n\n", FIT(5), c*ERR(5)); + printf("\nI think the unit cell is:\n\n"); + printf("\t\t a = %8.5f +/- %8.5f\n", FIT(0), c*ERR(0)); + printf("\t\t b = %8.5f +/- %8.5f\n", FIT(1), c*ERR(1)); + printf("\t\t c = %8.5f +/- %8.5f\n", FIT(2), c*ERR(2)); + printf("\t\talpha = %8.5f +/- %8.5f\n", FIT(3), c*ERR(3)); + printf("\t\t beta = %8.5f +/- %8.5f\n", FIT(4), c*ERR(4)); + printf("\t\tgamma = %8.5f +/- %8.5f\n\n", FIT(5), c*ERR(5)); } gsl_multifit_fdfsolver_free(s); @@ -307,27 +307,34 @@ int main(void) cell.ga = FIT(5); printf("\nYour measurements when calculated with my cell are:\n"); - printf("--------------------------------------------------------------\n"); - printf(" h1 k1 l1 h2 k2 l2 Spacing Angle ESD\n"); - printf("--------------------------------------------------------------\n"); + printf("--------------------------------------------------------------------\n"); + printf(" h1 k1 l1 h2 k2 l2 Spacing Angle Deviation\n"); + printf("--------------------------------------------------------------------\n"); for ( i=0; i<n; i++ ) { + double dev, dr; printf("%3i %3i %3i ", vals[i].h1, vals[i].k1, vals[i].l1); if ( is_dspacing(vals[i]) ) { - printf(" - - - %8.5f - ", - crystal_calc(vals[i], cell)); + double val; + val = crystal_calc(vals[i], cell); + printf(" - - - %8.5f - ", val); + dev = val - vals[i].meas; + dr = dev / vals[i].meas; } else { + double val; + val = RAD2DEG(crystal_calc(vals[i], cell)); printf("%3i %3i %3i - %8.5f", vals[i].h2, - vals[i].k2, vals[i].l2, - RAD2DEG(crystal_calc(vals[i], cell))); + vals[i].k2, vals[i].l2, val); + dev = val - RAD2DEG(vals[i].meas); + dr = dev / RAD2DEG(vals[i].meas); } - printf(" +/- %8.5f", vals[i].esd); + printf(" %+8.5f (%5.3f%%)", dev, fabs(dr*100.0)); if ( !is_dspacing(vals[i]) ) { printf(" deg\n"); } else { printf(" nm\n"); } } - printf("--------------------------------------------------------------\n"); + printf("--------------------------------------------------------------------\n"); return 0; |