Is there any function other than Fsolve to solve systems of nonlinear equations ????

14 views (last 30 days)
I am trying to solve the following system of 3 nonlinear equations:
XYZ(1)-A*(B*XYZ(2)^P1-C*XYZ(2)^P2)^(1/2)=0
XYZ(1)*F+G-XYZ(1)*XYZ(3)*H-I*XYZ(3)=0
XYZ(1)+E-D*XYZ(2)*XYZ(3)^(-1/2)=0
Where A,B,C,D,E,F,G,H,I,P1 and P2 are variables and X,Y and Z are the 3 unknowns to find.
I have tried using the function Fsolve with an m-file but the results were not good enough.
Is there any other function to solve this system ?????
  1 Comment
Walter Roberson
Walter Roberson on 6 May 2012
Duplicate is at http://www.mathworks.com/matlabcentral/answers/37287-is-there-any-function-other-than-fsolve-to-solve-systems-of-nonlinear-equations

Sign in to comment.

Answers (2)

John D'Errico
John D'Errico on 6 May 2012
Please expand on what was inadequate about fsolve.
- Did it not converge at all?
- Did it not converge to the solution you want to see? (After all, such a problem will have multiple solutions in general.)
- Did it not converge quickly enough for your needs?
- Was the solution obtained from fsolve not accurate enough for you?
- Do you need a symbolic solution?
The point is, some of these issues can be viewed as merely one of inadequate starting values. Or, you may want a global solver. There is a global optimization toolbox.) Or you may be looking for ALL possible solutions.
And of course, it is likely that no symbolic solution exists, since the problem will be equivalent to solving for the roots of a high order polynomial.
So for a better answer, we need some help here.
  3 Comments
Geoff
Geoff on 7 May 2012
My guess is that you're not using fsolve correctly. Is your function set up to return a small value when delivered the correct solution? Have you looked at the help for fsolve and optimset to see how to increase MaxFunEvals?
kamal kiki
kamal kiki on 7 May 2012
I have increased MaxFunEvals but I am still having the message Maximum number of function evaluations reached.
I do not know how to set up the function to return a small value when delivered the correct solution.

Sign in to comment.


Walter Roberson
Walter Roberson on 7 May 2012
Discussion of this topic should take place in your original Question that this is a duplicate of, http://www.mathworks.com/matlabcentral/answers/37287-is-there-any-function-other-than-fsolve-to-solve-systems-of-nonlinear-equations . Discussion here splits efforts, confuses people, and makes more work for the staff to merge the questions together.

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!