
"Paul A Bristow" <pbristow@hetp.u-net.com> wrote in message news:E1CRYy5-00066d-DY@he203war.uk.vianw.net... [snip] | if we get two sets of measurements in two arrays data1 and data2, | and get their sizes into size1 and size2 | and their means and variances into mean1 & mean2 and variance1 & variance2, | and the 'degrees of freedom' using published formulae (and probably | std::algorithm?) | (other 'Standard' functions perhaps - but pretty trivial) | | pooled_variance = (size1-1)*variance1 + (size2-1)*variance2)/df; | double t = (mean1 - mean2)/sqrt(pooled_variance*(1./size1 + 1./size2)); | | probability_of_significantly_different = incomplete_beta(df, 0.5, df/(df + t | * t)); | | if(probability_of_significantly_different > 0.95) | { | cout << "Batches differ!" << endl; // and/or Action! | } | | (In contrast, stats packages report a lot of clutter, | intelligible mainly to statisticians, but largely uninformative to users). | | Nonetheless, many thanks for your thoughts and helpful suggestions. I'm already working on the STL "package", but of course can't get anywhere without your functions :-) So don't worry about the package for now. There is some sample statistics in the sandbox in the /stat/ directory. -Thorsten