Solve Block for Systems (Another Solve Block Question)
Solve Block for Systems (Another Solve Block Question)
(OP)
I can't seem to wrap my mind around the solve blocks in MathCAD. Trying the attached problem - simple enough to solve by hand, but I just can't get MathCAD to provide the solution to the system of equations via the solve block. Three equations, three unknowns. Units consistent (though the strains are unitless, which is correct, but may cause an issue). Tried the whole thing without units, didn't help.
Help file (and mathcad book) doesn't help. I feel like I'm fundamentally not getting how the solve block works...
Help file (and mathcad book) doesn't help. I feel like I'm fundamentally not getting how the solve block works...
RE: Solve Block for Systems (Another Solve Block Question)
RE: Solve Block for Systems (Another Solve Block Question)
RE: Solve Block for Systems (Another Solve Block Question)
RE: Solve Block for Systems (Another Solve Block Question)
So there were three issues. First, the equate. Second, the units (though I'm not sure I understand the issue, since I tried using various other units I know MathCAD understands without success; it seems it can't handle mixing unitless variables with units in the solve block even if the equations are consistent.)
Third, the big gotcha, seems to have prevented me from identifying the other issues by trial and error. The solve block doesn't work if two of my known values are equal... I stumbled upon the issue while correcting my units issue. When I had (temporarily) different values and a solution occured. Upon correcting the known value the solution became an error.
Curious, since the equations remain algebraicly solvable in this case but MathCAD can't hack it.
In the attached file you can replicate the issue by removing the ".1" from sigma_y. Can you see what causes this final issue?
RE: Solve Block for Systems (Another Solve Block Question)
The unit problem is probably caused by have the results with different units. As noted by groovimus, the results are a vector and a vector has to have the same units for all elements.
RE: Solve Block for Systems (Another Solve Block Question)
Still stumped by the lack of a solution when sigma_y and sigma_x have the same value. I'm inclined to think it is an issue within the numerical solver, but its entirely possible I'm misssing something.
Here is the file in v11 format.
RE: Solve Block for Systems (Another Solve Block Question)
So far as units go the Levenberg-Marquardt algorithm is a numerical one obviously. To allow units in a solve block, Mathcad would be stripping out the units before passing parameters to the LMA and then re-scaling the parameters to account for unit prefixes etc. but the big bugaboo is like I said before, the units would have to be put back in, the scaling done, and then you would end up with a vector of values with arbitrarily mixed units which makes no sense from a correct usage standpoint. A vector should either be unitless or of uniform units.
RE: Solve Block for Systems (Another Solve Block Question)
RE: Solve Block for Systems (Another Solve Block Question)
I can begin to understand the issue with the numeric solution, but I still find it troubling that the case isn't handled by the software. Wouldn't unknowns becoming equal under certain conditions be a common special case for systems of equations?
As far as the units, I do understand, but I find it odd that the software doesn't have a method to work around.
Obviously, I'm more used to working symbolically than numerically, so these challenges aren't the sort I'm used to dealing with.
Thanks again.