How to solve this non-linear system of equations?
|
07-02-2014, 01:44 PM
(This post was last modified: 07-02-2014 01:53 PM by alexzkter.)
Post: #1
|
|||
|
|||
How to solve this non-linear system of equations?
Making O3=x and O4=y Code: 0.84=0.3606cos(45)+0.3824cos(x)+0.3912cos(y) I want the results to be in the interval [0º 360º] for obvious reasons or even [-360º 360º] Tried 3 times: 1st time with no interval, 2nd and 3rd time with same interval but different results, the last try ignored the interval. So I keep pressing enter and it keeps showing different results. Take a look: How can I directly get proper (possitive) angle values for my system ? The condition should be something like... x<y AND x>0 AND y<360 |
|||
07-02-2014, 03:59 PM
Post: #2
|
|||
|
|||
RE: How to solve this non-linear system of equations?
Use Advanced Graphing to fint initial solution.
Then use the applet Solve to find the exact solution. |
|||
07-02-2014, 05:15 PM
Post: #3
|
|||
|
|||
RE: How to solve this non-linear system of equations?
You can not use conditions for multivariate systems with approx coefficients, you can only give an initial guess, and if it is not far from a solution, fsolve will return a solution up to machine precision. Your solution does not seem to work by the way:
fsolve([eq1,eq2],[x,y],[11.3,302.5]) returns [-3.39546756307,313.410392968] (with degree mode) |
|||
07-02-2014, 05:42 PM
Post: #4
|
|||
|
|||
RE: How to solve this non-linear system of equations?
Software Version (6030)
solve({0.84 = (0.3606*cos(45)+0.3824*cos(x)+0.3912*cos(y)),0 = (0.3606*sin(45)+0.3824*sin(x)+0.3912*sin(y))},{x,y},{0..12,-100..0}) and fsolve({0.84 = (0.3606*cos(45)+0.3824*cos(x)+0.3912*cos(y)),0 = (0.3606*sin(45)+0.3824*sin(x)+0.3912*sin(y))},{x,y},{0..12,-100..0}) restart the calculator and emulator in degree mode. |
|||
07-02-2014, 05:54 PM
Post: #5
|
|||
|
|||
RE: How to solve this non-linear system of equations?
Quote:Use Advanced Graphing to fint initial solution.I didn't know how to use that App. I always plot functions inside the Solve app, but it didn't let me plot several equations at the same time, lol. Thanks. (07-02-2014 05:15 PM)parisse Wrote: You can not use conditions for multivariate systems with approx coefficients, you can only give an initial guess, and if it is not far from a solution, fsolve will return a solution up to machine precision. Your solution does not seem to work by the way: So if coeficients were integer numbers I'd be able to use conditions for multivariable systems? Interesting. I just typed in fsolve([eq1,eq2],[x,y],[11.3,302.5]) and it returned [11.316938475 302.475831894] which was the answer I was looking for ,but if I first have to plot the system, then it could be faster if I just Trace-found intersections on Advanced Graphing. Anyway, thanks guys you helped me a lot. |
|||
07-02-2014, 05:58 PM
Post: #6
|
|||
|
|||
RE: How to solve this non-linear system of equations?
(07-02-2014 05:42 PM)slawek39 Wrote: Software Version (6030) Why {0..12,-100..0} ? I was looking for positive only solutions between 0-360 There are several ways to do this, but never on 1 step only procedure unless you have a drawing on which you can rely on, like I wanted to do so. |
|||
07-02-2014, 06:54 PM
Post: #7
|
|||
|
|||
RE: How to solve this non-linear system of equations?
For exact data *and* polynomial system, you can find all solutions in theory, therefore conditions on variables *could* be checked. For everything else, there is no hope. The best I can imagine is to compute a grid of points in a given product of intervals, find the smallest in absolute value and start an iterative algorithm with this guess.
This is really something everyone should understand before using fsolve/solve and so. Sorry, no blackbox here... |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)