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

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Reverse solution to solve block

KAL_1625
10-Marble

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.

ACCEPTED SOLUTION

Accepted Solutions
Werner_E
25-Diamond I
(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

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

 

 

 

 

 

View solution in original post

5 REPLIES 5
Werner_E
25-Diamond I
(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.

@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_E
25-Diamond I
(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

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

 

 

 

 

 

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?

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

Top Tags