I am using fsolve to solve an overdetermined system of equations using the levenberg marquadt algorithm.
It works fine although giving the message "Equation solved, fsolve stalled." This is fine for 90% of my cases.
However, for particular systems of equations, my function value that is returned (fval) after saying that the equation is solved (with fsolve stalled) is
0.009486931983140
-0.035516210533842
-0.019252250306780
which is unacceptable for my need.
Since the default function tolerance is 1e-6, why does it accept this as a solution?

 Respuesta aceptada

Mohit Kumar
Mohit Kumar el 10 de Mayo de 2020

0 votos

Turns out function tolerance is compared with norm(fval)^2and the default tolerance was 1e-3. Simply changed it to 1e-10 (in accordance with my need) and its working well.

Más respuestas (0)

Productos

Versión

R2019a

Preguntada:

el 10 de Mayo de 2020

Respondida:

el 10 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by