Post Reply 
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?
[Image: se3zmu.jpg]

Making O3=x and O4=y

Code:
0.84=0.3606cos(45)+0.3824cos(x)+0.3912cos(y)
0=0.3606sin(45)+0.3824sin(x)+0.3912sin(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.

[Image: 104l3di.png]

So I keep pressing enter and it keeps showing different results. Take a look:

[Image: 2dwapnn.png]

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
Find all posts by this user
Quote this message in a reply
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.
Find all posts by this user
Quote this message in a reply
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)
Find all posts by this user
Quote this message in a reply
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.
Find all posts by this user
Quote this message in a reply
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.
Then use the applet Solve to find the exact 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:
fsolve([eq1,eq2],[x,y],[11.3,302.5]) returns [-3.39546756307,313.410392968]
(with degree mode)

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.
Find all posts by this user
Quote this message in a reply
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)

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.

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.
Find all posts by this user
Quote this message in a reply
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...
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)