MATLAB: Solving a nonlinear equation

nonlinearsolve

Hello,
I'm trying to solve the following equation,
x = y*0.016*(y^2 - 0.1^2/1.1)/(y^2 - 0.1^2)
The curve for the expression looks like an inverted 'S' http://tinypic.com/r/33xfrbb/5 I want to solve for value of 'y' for a given value of 'x'. The graph clearly shows three real solutions that exist for 'y' for certain values of 'x', lets say 0.5. Invoking the 'solve' function gives the following output:
syms y
eval( solve ( y*c1*(y^2 - c2^2)/(y^2 - c3^2) - 0.5 ) )
ans =
31.2500 - 0.0000i
0.1000 + 0.0000i
-0.1000 - 0.0000i
Any ideas on how to solve the equation?
Thanks, Abhi

Best Answer

Looks like the result you've achieved is real-valued and valid. The imaginary parts appear to all be zero, up to floating point precision, and can be ignored.
Related Question