When subtracting two thermodynamic temperatures, like 3°C from 5°C, I expect to get the result in Kelvins:
5 °C-3 °C→ 2 K
However, Mathcad gives
5 °C-3 °C→ 2•°C
and doesn't handle it any different than a thermodynamic temperature, while it should handle it as temperature difference and therefore in absolute units (which is K) rather than in relative units.
Is there any way around this problem?
I don't experience that effect. Mathcad gives me exactly the 2 K which you expect and of course I could format the result in Delta °C if I like to do so. Changing the unit to °C would be wrong, of course:
indeed. i guess the symbolic solver should be aware of units and dimensions, because they sometimes need special handling.
I can imagine that the °C (°F, °Re, etc.) get converted to K in an preprocessing step. After that it is totally ok to thread them as unknown variables.
i guess the symbolic solver should be aware of units and dimensions, because they sometimes need special handling.
Maybe, maybe not. This has been discussed before, and there are arguments on both sides. Symbolic math is the algebraic rearrangement and solution of equations. If it is limited to that, then units are irrelevant. If E=m*c^2, then m=E/c^2, regardless of the units.
Anyway, it it not unit aware. As I said in my other post though, it should not produce a wrong or misleading result. This is what mathcad 15 gives:
Not exactly useful, but at least it's not misleading.
the symbolic solver should be aware of units and dimensions,
Maybe, but I guess its rather hard to implement this or, for PTC staff, impossible to do. So I would not expect this to see in any version in the near or distant future.
After all, as Richard has shown, is °C not a simple scaling factor like most other units but, because of the necessary shifting, its a function used in postfix notation. At least this (being a function) is shown correctly by Mathcads (15 and below) symbolics but the symbolic output of Prime is simply wrong. So I agree to call it a bug in Prime.
We see this when we follow the symbolic evaluation by a numeric one. Normally this should give a satisfactory result but not in the case of temperatures:
Anyway you can send your issue to PTC's tech support by using "Mathcad Support Center":
I can reproduce this in Mathcad Prime when using symbolic evaluation. The symbolic processor does not understand units, so you should use only numeric evaluation. However, it should not show a wrong answer, so I consider this to be a bug.