Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

** Community Tip** - Did you get called away in the middle of writing a post? Don't worry you can find your unfinished post later in the Drafts section of your profile page.
X

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Nov 28, 2016
05:32 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 28, 2016
05:32 PM

Subtracting Degrees Celsius

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?

14 REPLIES 14

Nov 29, 2016
09:01 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
09:01 AM

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:

Nov 29, 2016
09:10 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
09:10 AM

I can replicate the problem in MathCAD Prime 3.1. The behavior you describe would be the correct one. Which version of MathCAD are you using?

Nov 29, 2016
09:31 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
09:31 AM

The former was from Mathcad 15, but the same applies to Prime:

Maybe you are doing something wrong when you insert °C ??

Nov 29, 2016
09:40 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
09:40 AM

Nothing wrong with the input. I am just using the symbolic solve „→“. The numeric solve „=“ get's it right.

Nov 29, 2016
10:03 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
10:03 AM

The symbolic solver is not unit-aware. It treats units as unknown variables.

The symbolics see this:

5°C - 3°C -> 2°C

the same as this:

5*x - 3*x -> 2*x

Nov 29, 2016
10:16 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
10:16 AM

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.

Nov 29, 2016
11:04 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
11:04 AM

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.

Nov 29, 2016
11:43 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
11:43 AM

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:

Nov 29, 2016
07:53 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
07:53 PM

so the question that remains is how to report this bug in a way, such that the MathCAD developers will take notice?

Nov 30, 2016
07:27 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 30, 2016
07:27 PM

I already did.

Dec 01, 2016
07:38 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 01, 2016
07:38 AM

Anyway you can send your issue to PTC's tech support by using "**Mathcad Support Center**":

http://blogs.ptc.com/2011/09/22/how-to-use-the-brand-new-online-mathcad-support-center/

Dec 01, 2016
07:48 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 01, 2016
07:48 AM

because of my academic license, they only give me support for license files and installation. can't report any bugs there.

Nov 29, 2016
11:05 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
11:05 AM

But in this case °C is not a variable, it is a function, and the answer is wrong.

Nov 29, 2016
10:59 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Nov 29, 2016
10:59 AM

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.