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

13 vues (au cours des 30 derniers jours)
kamal kiki
kamal kiki le 6 Mai 2012
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 commentaire
Walter Roberson
Walter Roberson le 6 Mai 2012
Duplicate is at http://www.mathworks.com/matlabcentral/answers/37287-is-there-any-function-other-than-fsolve-to-solve-systems-of-nonlinear-equations

Connectez-vous pour commenter.

Réponses (2)

John D'Errico
John D'Errico le 6 Mai 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 commentaires
Geoff
Geoff le 7 Mai 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 le 7 Mai 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.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 7 Mai 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.

Catégories

En savoir plus sur Systems of Nonlinear Equations dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by