Skip to main content
10-Marble
June 14, 2022
Solved

Reverse solution to solve block

  • June 14, 2022
  • 2 replies
  • 1900 views

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.

Best answer by Werner_E

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

Werner_E_1-1655246065577.png

"root" won't work for a function in more than 1 argument, so you would rather have to use a solve block.

Werner_E_2-1655246235403.png

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:

Werner_E_3-1655246939826.png

 

 

 

 

 

2 replies

25-Diamond I
June 14, 2022

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.

KAL_162510-MarbleAuthor
10-Marble
June 14, 2022

@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. 

KAL_1625_0-1655239186492.png

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?

Werner_E25-Diamond IAnswer
25-Diamond I
June 14, 2022

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

Werner_E_1-1655246065577.png

"root" won't work for a function in more than 1 argument, so you would rather have to use a solve block.

Werner_E_2-1655246235403.png

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:

Werner_E_3-1655246939826.png

 

 

 

 

 

24-Ruby IV
June 14, 2022

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?

KAL_162510-MarbleAuthor
10-Marble
June 14, 2022

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.