cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

SOLVED
Highlighted

## Question on Find Function

what is the maximum number of nonlinear equations that can be solved in Mathcad with the Find function?

I am at 50 and it will not let me enter in the 51st variable.

1 ACCEPTED SOLUTION

Accepted Solutions

## Re: Question on Find Function

It's not a limit on the number of variables, but on the number of arguments you are allowed to enter. Combine some or all of the variables into a vector.

12 REPLIES 12

## Re: Question on Find Function

From the Mathcad 15 help file:

• Solve Blocks can solve systems of up to 400 variables when using the Quasi-Newton or Conjugate-Gradient solvers. The Levenberg-Marquardt solver is unconstrained, and will solve any size system. Linear systems can have up to 8192 constraints, and nonlinear systems up to 200 constraints. When you solve for complex variables, Mathcad treats the real and imaginary parts as separate variables in the algorithm, increasing the overall variable and constraint count for the problem.

Alan

## Re: Question on Find Function

When I am typing in my variables to find in the Find Function, when I try and type in my 51st comma it will not respond.

## Re: Question on Find Function

It is more likely a limit on the number of arguments in the function call. Try combining the variables into a vector (so instead, of x and y, x[0 and x[1, and solve for x)

## Re: Question on Find Function

It's not a limit on the number of variables, but on the number of arguments you are allowed to enter. Combine some or all of the variables into a vector.

## Re: Question on Find Function

Thanks, that fixed it to put some of the variables into one of the arguments as a vector.  I put a 7 row by 1 column vector in the 48th argument.  It solves correctly, but now I need help on how to access these values in the 48th argument.

## Re: Question on Find Function

How are you accessing the other 47?

Does this help (ignore the red; it's me being too lazy to actually define a solve block)? ## Re: Question on Find Function

I have:

F(P1,P2,P3):=Find(x1,x2,x3,x4,x5,....x46,x47,x48)   where x48 is a 7 row by 1 column vector  with succeeding rows of x48,0 x48,1 x48,2...

I access it as follows

F(P1,P2,P3)= x1

x2

x3

.

.

x47

[7,1]

where each x1, x2, x3 has a numerical value.

I'm wondering how to get at x48?  If I say F(P1,P2,P3)sub48,0 it shows the 7x1 vector.  If I subscript a 1 for the 0 it shows up as red.  How can I access each individual part?

## Re: Question on Find Function

Assign F(P1,P2,P3) to a variable rather than just evaluating it.

X:=F(P1,P2,P3)

Then you can evaluate X[48.

## Re: Question on Find Function

So, I have a huge 'find' equation where combining variables into vectors would be advantageous.  Following your advice, I can replace everything with subscripted variables.  Nice, but that makes the equations awfully hard to read since everything becomes x[0, x[1 instead of Pressure, temperature or whatever.    Here's what I got to work based on your advice. My question is if there is anyway to stick with the native variables in the equations?  Something like this is what I'm after, but never seems to work (no solution found). Thanks, (3.1 attached)