Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
Hello,
The Question : Need help with Given_Find( ) solve block solution.
Thanks in advance for the time and help.
Regards.
Solved! Go to Solution.
You have the same solution. You basically solved the system by re-defining the unknown x vector variable using literal (individual distinct) variables.
There is nothing wrong... but you cannot avoid the use of literal subscripts if you really want to use the Given/Find block. See also attached.
The solution
and the file with a small change. Hope that is what you are looking for.
Preferrably you can use the symbolic "solve" as Mihai suggested.
If you want to use the solve block you should use literal subs.
I have Mathcad14, Werner. And it shows up like the following :
Regards.
I use MC15, but my file should work in MC14 as well, unless there is a bug which was fixed in the meantime.
Which maintainance release of MC14 are you using?
Did you change anything in the file other than the assignment V:=
Werner Exinger wrote:
I use MC15, but my file should work in MC14 as well, unless there is a bug which was fixed in the meantime.
Which maintainance release of MC14 are you using?
Did you change anything in the file other than the assignment V:=
I using MC14 M020, Werner.
Regards.
I think the problem is already discussed here and "solved" - its because the solveblock does not like the use of vetcor elements as solve variables (still not sure if its not a bug) and I think you have provided a workaround yourself by defining the vector beforhand using "normal" variables.
BTW, I used stack(), and aa, etc. instead of a correctly dimensioned vector and alpha, .. just out of lazyness 😉
Many thanks, Werner.
Regards.
You are welcome.
BTW, it looks like the solutions of your new system can be defined by a simple formula
The question : Need help with the reason with the red oval.
Regards.
I have no idea, I would call it a bug on first sight, but I'm not definitely sure about that! Find() expects variables only as parameters, not functions or any other expressions. So it seems that Find() treats every parameter as a variable name and don't cares if its a function.
Its the stack() inside of the find-command which is responsible for the effect. It look like Find(stack(a,b)) is treated like Find(stack,a,b) which throws an error if evaluated numerically (stack is an unknown variable) and produces the additional zero in case of the symbolic eval.
Many, many thanks, Werner.
Best Regards.
If I may. This is because you (probably) switched back to index variable x. Am I wrong? If not, please notice the difference (the "." between the x and the number) between the pics below.
Werner has this:
But you have this:
The error is not because you have M14. It is also in M15.
That could be an explanantion, but then I am confused about the error meassage window which was posted by Loi.
I am confused too. I got the same error message when I define V:=Find(...) -->
But another error message when using only Find(...) -->
The first one might be a bug.
MihaiMoraru wrote:
I am confused too. I got the same error message when I define V:=Find(...) -->
But another error message when using only Find(...) -->
Just gave it a try and the same here.
I would call it a bug, too - maybe even both errors as I see no good reason why vector elements should not work as solve block variables.
Could you provide the worksheet with this error? I use a Mathcad 15 M020 service release, and I do not see any errors.
I have reproduced the error and sent a report to PTC's tech support.
Hello again,
Many thanks for the two of response, above.
The question : I think of mine, above, there is something wrong and mine is not reliable (solution) ?
Regards.
You have the same solution. You basically solved the system by re-defining the unknown x vector variable using literal (individual distinct) variables.
There is nothing wrong... but you cannot avoid the use of literal subscripts if you really want to use the Given/Find block. See also attached.
Many thanks, MihaiMoraru.
Regards.
You are very much welcomed.
The question : I think of mine, above, there is something wrong and mine is not reliable (solution) ?
Not exactly sure what you think that is wrong.
As already stated the problem is that the solve block often has problem if you try to use the individual vector components as parameters of "find". You replaced the vector elements by greek variables and that way find works.
Solve block will work with complete vector equations, though, but it would be quite a task to rewrite your system as vector equation, if possible at all. So its far easier to use "normal" variables or resort to the symbolic "solve".
Hello, again.
I have still a small query :
Vector in the oval, it should have only parentheses, but now that vector has also the bracket.
The question : what does that mean ?
Regards.
I think it means that Mathcad has to do one more operation. But this does not change the end result. It can be removed. Please see below and attached.
Thanks, MihaiMoraru.
Regards.
Vector in the oval, it should have only parentheses, but now that vector has also the bracket.
The question : what does that mean ?
I would say that it means you typed a pair superfluous paranthesis. Its not a vector bracket. Mathcad shows brackets if you nest parenthesis, like in
BTW, you could just use
Thanks, Werner.
Hello, again.
I have still small another query :
The question : Need help with the reason : the first one works and the second doesn't.
Best Regards.