solving nonlinear system of equations

1 view (last 30 days)
I have a nonlinear system of equations including 2 variables ,and I know that roots are real I tried Newton Raphson method but it is very sensetive to initial conditions and they should be very close to the roots,I also tried fsolve but it gives complex roots for some initial conditions
Is there any way to reduce the sensetivity to initial conditions in Newton Raphson method?I mean a way in which I can choose initial conditions far from roots?
also are there other ways to solve a system of nonlinear equations with real roots except Newton Raphson or fslove?
  2 Comments
Andrew Newell
Andrew Newell on 30 Jan 2011
By initial condition, do you mean your initial guess for the Newton-Raphson method? By variables, do you mean parameters?

Sign in to comment.

Accepted Answer

Andrew Newell
Andrew Newell on 30 Jan 2011
Numerical solutions of nonlinear equations are often sensitive to the initial guess. You may not even be able to determine how many solutions there are. The more you know about the system, the better. How do you know, for example, that the solutions are real?
There are two tricks you might be able to use:
  1. If you can rewrite your system as a polynomial equation, you could use roots.
  2. If you can choose model parameters so you know what the answers are, you could then migrate the solutions to your target problem. This is called homotopy, and the package MATCONT might be useful. You can find it at this address: http://sourceforge.net/projects/matcont/
  3 Comments
Andrew Newell
Andrew Newell on 4 Feb 2011
Oops - I meant MATCONT. I have changed the answer above.
mona faraji
mona faraji on 6 Feb 2011
Thanks a lot I will try to figure it out and use it

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!