Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! 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.
It does not work (or at least this is what I think) because you have included the equalities in a column vector, but you have to equalize the column vector (without the "bs") with another one, in a Given/Find block. Basically, you do not have a system of equations there, but just a vector having on each position an equality.
A solution is to write the equations in the form below. Please see also the attachment.
Many thanks, MihaiMoraru. I got it. ( And there no problem with symbolic solve to your post after. (This title is about Given_Find( ) solve block.). Thanks any way, MihaiMoraru ).
Best Regards.
Loi.
The second one works if you avoid the Given/Find block. See the pic (I split it for better view) and also the attachment.
Loi Le wrote:
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.
The second way doesn't work because the solve block won't evaluate the equations inside the vector. It just sees a vector and no constraint or equation, so a vector consisting of all zeros seems to be an adequate solution (for MC) 😉
The notation with the equations in a vector is necessary only with the symbolic "solve" as a way to tell Mathcad which equations belong together. You don't need this in a solve block as you have the keywords "given" and "find" to act as a kind of bracket to collect the equations.
In case you still want to use the vector notation, you can do that, but you have to tell Mathcad that you want every single line in your vector to be true (TRUE = 1) as in the attached.
Many, many thanks, Werner.
Werner Exinger wrote:
You have to tell Mathcad that you want every single line in your vector to be true (TRUE = 1) as in the attached.
Indeed for Given/Find. But not the same happens when using "solve". Why is that? (Maybe it is set as a default condition).
Please see attached.
Indeed for Given/Find. But not the same happens when using "solve". Why is that?
Because thats the way the symbolic "solve" is implemented.
They had to find a way to apply "solve" to a system of equations or inequalities and putting them in a matrix is as good as any other way of creating a list they could have come up with.
If "solve" is applied to an equation it will try to solve it. If its applied to a vector or matrix, it will look at every element of that matrix and take it as a constraint which it has to comply with.
Thank you.
So, "solve" will always assume that the expression in each position of the vector is an equation, and it will assume equal with 0 if not defined otherwise.
So, "solve" will always assume that the expression in each position of the vector is an equation,
or an inequality, so sometimes you have the choice between "assume" and an additional constraint in the vector (and I would normally prefer "assume").
and it will assume equal with 0 if not defined otherwise.
Yes.
I agree with you, MihaiMoraru.
Regards.
Its unclear to me why you want to do the things more complicated as necessary. Using the symbolic solve you won't need the "=<vector of 1's>" as already described and shown.
But the way you did it works, too.
It fails in your sheet because the variables x0, etc already are assigned values. Every symbolic solve will fail in that case.
So either you try it in a fresh worksheet without any calculations done before or you clear the variable x (consisting of x0, etc,) for symbolic evaluations by typing x:=x.
Many thanks, Werner.
Regards.