Skip to main content
1-Visitor
Nov 18, 2014 5:13 AM UTC
Solved

Solving Linear System With Mixed Units?

Hi,

I am attempting to solve a linear system with mixed units, but I am having great difficulties.

I have read that 0's within the matrix must have assigned units. However I still get errors.

Worksheet attached - linear system on page 2.

Working in Mathcad 15

Any ideas? Thanks

23-Emerald I
Nov 18, 2014 1:45 PM UTC

Rather than dividing by units, use the function "UnitsOf()", it prevents scaling errors.

Rather than A.33/m, use A.33/UnitsOf(m). There are two benefits:

1) If A.33 happens to be feet, inches, furlongs, miles, it will get converted into the proper value for the default units system in Mathcad. (This prevents differential equation solutions from improper scaling.)

2) If A.33 happens to be not a length, but say a force, Mathcad will throw an error.

4 replies

Werner_E
25-Diamond I
Nov 18, 2014 7:01 AM UTC

The zero with units applies to Prime (dynamic unit check), not to Mathcad static unit check.

Prime is inferior compared to Mathcad in most aspects but there are a very few things which have been improved in Prime and one of them is the handling of mixed dimensions in one matrix.

In Mathcad 15 you are not allowed to put values of different dimensions in one matrix.

In your matrix A you have dimensionless values (1's) and lengths which throws am error.

Best approach is to get rid of the units altogether by dividing the variables by their unit (write A.33/m, etc.) and put the units back later. Thats annoying and failure prone and it sure is a drawback.

Translate
23-Emerald I
Nov 18, 2014 1:45 PM UTC

Rather than dividing by units, use the function "UnitsOf()", it prevents scaling errors.

Rather than A.33/m, use A.33/UnitsOf(m). There are two benefits:

1) If A.33 happens to be feet, inches, furlongs, miles, it will get converted into the proper value for the default units system in Mathcad. (This prevents differential equation solutions from improper scaling.)

2) If A.33 happens to be not a length, but say a force, Mathcad will throw an error.

Translate
Werner_E
25-Diamond I
Nov 18, 2014 1:49 PM UTC

Fred Kohlhepp wrote:

Rather than dividing by units, use the function "UnitsOf()", it prevents scaling errors.

Rather than A.33/m, use A.33/UnitsOf(m). There are two benefits:

1) If A.33 happens to be feet, inches, furlongs, miles, it will get converted into the proper value for the default units system in Mathcad. (This prevents differential equation solutions from improper scaling.)

2) If A.33 happens to be not a length, but say a force, Mathcad will throw an error.

Good points!

Translate
aprice1-VisitorAuthor
1-Visitor
Nov 18, 2014 2:09 PM UTC

Thank you both for the insightful answers!

Translate