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

## Reverse solution to solve block  9-Granite

## Reverse solution to solve block

Hi team, I have a big solve block with 13 equations and 13 unknowns. I could not add the worksheets for IP reasons, but the question is quite generic. Please bear with me. Here is the scenario:
I have a solve block that solves 13 equations and gives out the solution, say P(x,y,z). in case, I know the final result for P(x,y,z) say 200. How can I find what are the combinations of x,y,z that would lead to that. Do I use another solve block with minimum and maximum function? I tried, but lead into convergence error. tried changing guesses as well as TOL, CTOL values. Did not work.  Thanks in advance.

1 ACCEPTED SOLUTION

Accepted Solutions  24-Ruby V
(To:KAL_1625)

It is a pity that you have not attached a worksheet

In above case if I want to identity range of variable D in between 0 to 100 that would satisfy a(D)=50. How do I find those range?

range???

a(D) represents a 2dimensional curve which may have a couple of positions where a(D) is 50, but sure not a range.
In your case it seems that there is only one solution "root" won't work for a function in more than 1 argument, so you would rather have to use a solve block. If there are more solutions, you will only get one of them, depending on the guess value.

You may find more solutions (if there are any via brute force. But sure this means a long calculation time, if done with three nested loops (for x, y and z), a lower stepwidth than my 0.0001 and a better (lower) precision than the 0.1 in the example: 5 REPLIES 5  24-Ruby V
(To:KAL_1625)

The problem is not clear to me.

If you have 13 equation and 13 unknowns, then you solve for those unknowns and have their values as solution.

What does this have to do with P(x,y,z) you mention?

If your 13 equations are dependent on x, y and z, you have turned the solve block into a function like P(x,y,z):=solve(a,b,c...)

So P(x,y,z) would yield a vector with 13 elements, not just a single value like 200.

It would help if you would create a stripped down demo worksheet, maybe just four equations, maybe just P(x,y) with non-sensible random data so you can pos it here and show, what exactly the problem is.  9-Granite
(To:Werner_E)

@Werner_E I should have done this before. Sorry if I was not clear earlier. I am attaching a dummy example (just for illustration Purpose) of what I want. In above case if I want to identity range of variable D in between 0 to 100 that would satisfy a(D)=50. How do I find those range?  24-Ruby V
(To:KAL_1625)

It is a pity that you have not attached a worksheet

In above case if I want to identity range of variable D in between 0 to 100 that would satisfy a(D)=50. How do I find those range?

range???

a(D) represents a 2dimensional curve which may have a couple of positions where a(D) is 50, but sure not a range.
In your case it seems that there is only one solution "root" won't work for a function in more than 1 argument, so you would rather have to use a solve block. If there are more solutions, you will only get one of them, depending on the guess value.

You may find more solutions (if there are any via brute force. But sure this means a long calculation time, if done with three nested loops (for x, y and z), a lower stepwidth than my 0.0001 and a better (lower) precision than the 0.1 in the example:   24-Ruby III
(To:KAL_1625)

You have 13 unknowns and 13 equations (hell of a dozen). You specify 10 first guess values, then write down the equations and call the Find function so Solution(x, y, z):= Find(....) . Is it so?  9-Granite
(To:ValeryOchkov)

Yes exactly. I want to know that for what range of variable between a limit would one of my equation be satisfied for a known solution. Announcements