Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
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
Solved! Go to Solution.
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
Hi,
maybe this helps you:
Pleas see attached MathCad-File.
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
Thank you for explanation. It works now.
Here is in more detail what I was talking about.
The attached sheet also shows a few ways to create the neccessary vector