Borrar filtros
Borrar filtros

fsolve, fmincon producing different results

13 visualizaciones (últimos 30 días)
Ara Jo
Ara Jo el 20 de Sept. de 2021
Respondida: Sargondjani el 20 de Sept. de 2021
Hi,
I am wondering how to think about fsolve and fmincon producing different results when solving the same system of nonlinear equations. To explain, fsolve finds a solution that sets x, y, z simultaneouly to zero when x, y, z are some equations.
To run the same routine in fmincon, I set the objective as [x y z]*[x y z]' to be minimized (tolerance 1e-15). And these two routines produce very different solutions, even when they start from the same initial value.
Is it the way I set the objective in fmincon that is wrong or leads to a different solution? How should I think about this? Thanks for any advice in advance!
Best,
Ara

Respuestas (2)

Matt J
Matt J el 20 de Sept. de 2021
Do they both achieve the same objective value? If so, you simply have multiple solutions.

Sargondjani
Sargondjani el 20 de Sept. de 2021
I believe fmincon could also be stuck in a local minimum, due to the quadratic terms. This solution might not actually solve the equations.
And in addition to what Matt says: if you start fmincon from a point close to the solution of fsolve, does it converge to the same point then?
On a side note:
  • do you need fminconsince you have no constraint. Maybe fminunc suffices?
  • lsqnonlin is a special function to minimize vector valued functions in least square sense. It can also handle bounds, so this might be useful too.

Categorías

Más información sobre Systems of Nonlinear Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by