Skip to main content
1-Visitor
August 10, 2017
Solved

Mathad prime problems with equation

  • August 10, 2017
  • 2 replies
  • 3139 views

Hi.

I'm a new one here.

 

Maybe somebody knows where is the catch why the result is a matrix with [1x1] result (pic. in attachment).

 

Thank you in advance for your help.

 

Regards,

D

Best answer by Werner_E

Whenever you type a square bracket, Prime creates a matrix. You did so in the denomiinator and when you evaluate that expression you divide a scalar by a 1x1 matrix. This is mathematical nonsense and so Mathcad applies automatic vectorization. That way the result is a vector, too.

Solution: Type a normal, round, parenthesis or do completetly without as its not needed anyway.

 

As for you second picture you should take care to distinguish between ranges (as you used) and vectors. They may look similar or even alike, but they sure aren't.  You may have already noticed that you can't assign the result list of b0(t0) to a variable or access a single element of it.

The correct way to do it is to create t0 as vector. When fed into a function Prime may apply automatic vectorization but to be on the safe side  you should vectorize the function call yourself.

A range is just sort of an implicit loop and should be uses just for three things:

.) plotting

.) indexing vectors and matrices

.) for-loop in a program

 

2 replies

1-Visitor
August 10, 2017

Hi,

 

maybe this helps you:

10-08-2017 10-45-42.jpg

Pleas see attached MathCad-File.

 

Werner_E25-Diamond IAnswer
25-Diamond I
August 10, 2017

Whenever you type a square bracket, Prime creates a matrix. You did so in the denomiinator and when you evaluate that expression you divide a scalar by a 1x1 matrix. This is mathematical nonsense and so Mathcad applies automatic vectorization. That way the result is a vector, too.

Solution: Type a normal, round, parenthesis or do completetly without as its not needed anyway.

 

As for you second picture you should take care to distinguish between ranges (as you used) and vectors. They may look similar or even alike, but they sure aren't.  You may have already noticed that you can't assign the result list of b0(t0) to a variable or access a single element of it.

The correct way to do it is to create t0 as vector. When fed into a function Prime may apply automatic vectorization but to be on the safe side  you should vectorize the function call yourself.

A range is just sort of an implicit loop and should be uses just for three things:

.) plotting

.) indexing vectors and matrices

.) for-loop in a program

 

D_man_1231-VisitorAuthor
1-Visitor
August 10, 2017

Thank you for explanation. It works now.