How do you add temperatures?

You may always add the numbers in front of the units, and if the units are the same, one could argue that the addition satisfies the rules of dimensional analysis.

However, it still doesn't imply that it's meaningful to sum the temperatures. In other words, it doesn't mean that these sums of numbers have natural physical interpretations. If one adds them, he should add the absolute temperatures (in kelvins) because in that case, one is basically adding "energies per degree of freedom", and it makes sense to add energies.

Adding numbers in front of "Celsius degrees", i.e. non-absolute temperatures, is physically meaningless, unless one is computing an average of a sort. This is a point that famously drove Richard Feynman up the wall. Read Judging books by their covers and search for "temperature". He was really mad about a textbook that wanted to force children to add numbers by asking them to calculate the "total temperature", a physically meaningless concept.

It only makes sense to add figures with the units of "Celsius degrees" if these quantities are inteprreted as temperature differences, not temperatures. As a unit of temperature different, one Celsius degree is exactly the same thing as one kelvin.

If you interpolate or extrapolate a function of the temperature, $f(T)$, you do it as you would do it for any other function, ignoring the information that the independent variable is the temperature. Results of simplest extrapolation/interpolation techniques won't depend on the units of temperatures you used.


Just convert everything into kelvins (or Celsius, or Fahrenheit, it doesn't matter as long as you're consistent), then do the interpolation, then convert back if you need to. You will almost certainly find that this does work, and that it does give the same answer no matter which unit system you use.

The reason is that when you do interpolation, you're not adding and subtracting temperatures, you're adding and subtracting temperature differences, and this means that the terms that arise from using a different zero point (such as the 546.3K in your calculation) will always cancel out.


You're going to have to tell us why you'd want to do this. I take a stab at it below, where I assume you want to interpolate the temperature between two sensors.

As Motl pointed out you don't "add" temperatures. It's physically meaningless - and dangerous since there's a fundamental misunderstanding in how the program works.

However, you can mix materials - say you added cold milk to your hot coffee. In this case you are mixing the phases. A simple way to get the resulting temperature (and good enough for simple mixtures) is to do a weighted average the temperatures where the weights are the heat capacity (that is the specific heat of the material times the mass). However, if there is heat released upon mixing (say, pouring acid into water) this would not work.

Now, let's say you're programing a temperature interpolation routine to get an estimate of the temperature somewhere between two sensors. Within the program it appears that you're adding (or subtracting) temperatures, but really you're averaging them weighted in length (assuming a homogenous material). Here "adding temperatures" only works if the material is the same - the heat capacities cancel out. Otherwise you should solve the Laplace equation.

Tags:

Temperature