[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. How Epc works

Epc does a monte-carlo series of trial calculations of the formula in question. In each trial, the values of all the uncertain variables are perturbed using a random number generator to add a random number with zero mean, and with standard deviation adjusted so that there is only a 1 in 20 chance of values being outside the indicated +- range in the variable's value.

NOTE: This 1:20 rule is the standard used in the Engineering literature; see for example the 'Editorial Policy Statement on Numerical Accuracy and Experimental Uncertainty', in AIAA Journal, vol 39 number 1.

The results of the series of trial calculations are then analysed, and epc reports several summaries of the probability-density function of this series. The form of the output is illustrated below:

 
$x = 1 +- 0.1;
calculate 2*$x; 
  Result without perturbation:      2
  Result with symmetric tails:      2.0011 +- 0.199435
  Result with asymmetric tails:     2.0011 (1.80269 to 2.20156)

In the last line of the output, the centre value is the median (50-th percentile) and the range is from the percentiles of the distribution that correspond to the 1:20 rule.

You can see the values being used, by running epc with the -d (debug) flag. For example, running $ ./epc -d -t 10 (note that the number of trials was reduced for brevity of results) on the following script

 
$x = 1 +- 0.1;
calculate 2 * $x;

yields the result

 
# /home/kelley/src/epc/doc/10
# The '-t' flag changed the number of trials from the default of 10000 to 10.

$x = 1 +- 0.1;
calculate 2*$x; 
Evaluating (unperturbed) 2*1 	= 2
Evaluating (perturbed)   2*1.02922502475226 	= 2.05845004950452
Evaluating (perturbed)   2*0.993717291700109 	= 1.98743458340022
Evaluating (perturbed)   2*0.995918923290612 	= 1.99183784658122
Evaluating (perturbed)   2*1.02264961369485 	= 2.0452992273897
Evaluating (perturbed)   2*1.12625353582978 	= 2.25250707165956
Evaluating (perturbed)   2*1.09301223784715 	= 2.1860244756943
Evaluating (perturbed)   2*1.02323935838481 	= 2.04647871676962
Evaluating (perturbed)   2*0.920432321936938 	= 1.84086464387388
Evaluating (perturbed)   2*0.990847854921903 	= 1.98169570984381
Evaluating (perturbed)   2*0.956043508391686 	= 1.91208701678337
  Result without perturbation:      2
  Result with symmetric tails:      2.0453 +- 0.205821
  Result with asymmetric tails:     2.0453 (1.84086 to 2.25251)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Dan Kelley on June, 15 2002 using texi2html