How to solve a nonlinear system of n equations
6 views (last 30 days)
Hi, I solved a nonlinear system of n equations using fsolve and it succeeded. But I couldnt solve another nonlinear system using fsolve. In fact it worked but its giving me wrong answers. I sent an email to mathworks but had no reply. Can Anyone help plz ?
Alan Weiss on 14 Oct 2014
Your function is not smooth--it has both abs and sign calls. Therefore you cannot expect fsolve to work effectively starting from every point.
For more help, see fsolve could not solve the equation, which basically says that for this kind of problem you have to start from a wide variety of points.
MATLAB mathematical toolbox documentation
Matt J on 14 Oct 2014
Edited: Matt J on 14 Oct 2014
In view of how difficult your equations are, and because there are only 3 unknowns, I would just use exhaustive search, but in a multiresolution way. Start by sampling F(x1,x2,x3) on a coarse grid,e.g. with
Evaluate F at all points on this grid (using vectorization, of course) and use min() to find the least norm(F) over all points. Then create a finer grid in the near neighborhood of the approximate solution and repeat...
Alex Sha on 11 Dec 2019