Uncertainty is inherent in physical measurements. When calculating with these measurements, we need to propagate that uncertainty! Let's walk through why uncertainty exists and how to propagate it through calculations.


Let's start off with a measurement example for some context. Imagine that you measure something with a ruler. Your measurement will lie between two of the tick marks on the ruler. In ordinary life, we would just round it to the closer tick and call it a day. But what if you wanted to quantify that uncertainty? This is common in engineering and scientific environments.

Let's illustrate why we want to quantify that uncertainty with an example. Imagine that you are laying tiles for a new kitchen floor. Your tiles are 10 cm long and you want to know how many tiles to buy. You measure your floor to be 800 cm long and so you expect to need 80 tiles. Now you lay out 80 tiles and yet it doesn't cover the length of the room. How come?

The reason is because the tape measure used to measure the room had an uncertainty of 1 cm. And moreover, the tiles themselves were produced with an uncertainty of 0.2 cm - some are longer, and others are shorter than 10 cm.

So given these uncertainties, how can we know how many tiles we really need? Unfortunately, we cannot say for sure. We can, however, make an estimate within a degree of probability. For that, we need to think of our measurements as random variables.

Normal Random Variables

Suppose we measured all of our tiles. We might see some tiles at 10, 10.05, 9.8, or even 10.27 cm. But after aggregating all this data, we'd find that ~68% of the tiles fall within 0.2 cm of 10 cm. If we were to graph this data, it'd look like a normal distribution. This is because our uncertainty, 0.2 cm, is actually equivalent to the standard deviation, and the expected value, 10 cm, is the center of our normal distribution. So we can think of our tile's length as TileN(μTile,σTile2)=N(10,0.22)Tile \sim N(\mu_{Tile}, \sigma_{Tile}^2) = N(10, 0.2^2) cm. Similarly, we can think of our room as a random variable RoomN(μRoom,σRoom2)=N(800,0.12)Room \sim N(\mu_{Room}, \sigma_{Room}^2) = N(800, 0.1^2) cm.

Law of Propagation of Uncertainty

Now returning to the question of how many tiles do we need to cross the room. It is clear that we simply need to divide our two random variables, Room/TileRoom / Tile. As you might recall from a statistics course, doing this will give us a new random variable! With a bit of math, we find that NumberOfTiles=Room/TileN(μRoom/μTile,(1μTileσRoom)2+(μRoomμTile2σTile)2)NumberOfTiles = Room / Tile \sim N(\mu_{Room} / \mu_{Tile}, (\frac{1}{\mu_{Tile}} \sigma_{Room})^2 + (\frac{- \mu_{Room}}{\mu_{Tile}^2} \sigma_{Tile})^2). Let's explain why.

Recall that E[X/Y]=E[X]/E[Y]E[X/Y] = E[X] / E[Y]. Since the expectation of our normal random variables for RoomRoom and TileTile is μ\mu, we find μNumberOfTiles=μRoom/μTile\mu_{NumberOfTiles} = \mu_{Room} / \mu_{Tile}.

For the standard deviation, we use the Law of Propagation of Uncertainty (generalized form of Adding in Quadrature). For any differentiable function f(x,y,...)f(x,y,...) where x,y,...x,y,... are independent and random, the uncertainty is δf(x,y,...)=(fxδx)2+(fyδy)2+...\delta f(x,y,...)=\sqrt{\left(\frac{\partial f}{\partial x} \delta x \right)^2 + \left(\frac{\partial f}{\partial y} \delta y \right)^2 + ...}[1]. For a proof of this law, check out Taylor's Introduction to Error Analysis [1].

If you are curious what 800±110±0.2\frac{800 \pm 1}{10 \pm 0.2} is, try plugging it into the Uncertainty Calculator. Want to derive the uncertainty equation for other operators and functions? Check out Proofs.

Fractional Uncertainty

We use fractional uncertainties because they help represent the percent of uncertainty in our estimate. Fractional uncertainty is defined as the uncertainty of an estimate divided by the absolute value of the estimate itself, δxx\frac{\delta x}{|x|}. For example, the fractional uncertainty of 2.00±0.052.00±0.05 is 0.05/2.000.05/2.00 and thus the percentage uncertainty is 2.5%.

When first learning to propagate uncertainty, many students are taught to simply add fractional uncertainties in the case of multiplication, δ(xy)(xy)δxx+δyy\frac{\delta (x*y)}{(|x*y|)} \approx \frac{\delta x}{|x|} + \frac{\delta y}{|y|}. This is an approximation that is quick to compute and works in many situations, but is less mathematically rigorous than the true formula, δ(xy)(xy)=(δxx)2+(δyy)2\frac{\delta (x*y)}{(|x*y|)}=\sqrt{\left(\frac{\delta x}{|x|}\right)^2 + \left(\frac{\delta y}{|y|}\right)^2}. Fortunately, fractional uncertainty can be derived from the general formula introduced earlier. Check out the multiplication section of Proofs to see that.


Great, now we can propagate uncertainty through any differentiable function. One last question remains: how do we round our measurements? The convention is to round the uncertainty to one significant figure. Then, we round the estimated value to the same place value as the uncertainty[2].

For example, we would round 1.0±0.151.0 ± 0.15 to 1.0±0.21.0 ± 0.2 because the uncertainty should have one significant figure. And we would write 2±0.52 ± 0.5 as 2.0±0.52.0 ± 0.5 because the estimate should be written to the same place value as the uncertainty.


[1] Taylor, John. An Introduction to Error Analysis - The Study of Uncertainties in Physical Measurements, Second Edition. University Science Books.

[2] Evaluation of Measurement Data — Guide to the Expression of Uncertainty In Measurement (GUM). September, 2008.