Objective function formulation for solving overdetermined nonlinear system using lsqnonlin

6 visualizaciones (últimos 30 días)
Dear all,
This may be more of a mathematical than a MATLAB question, but any help is appreciated. I have an overdetermined system of 18 (highly) non-linear equations in six unknowns, represented by two 3X3 matrix equalities. I am using non linear least squares to solve the problem, specifically MATLABs lsqnonlin function.
I have tried two ways of formulating my objective function:
  1. Eighteen components, based on the squares of differences of each element of the LHS and RHS of each matrix equality.
  2. Eight components, found from comparing the squares of differences of the axial vector and trace of the LHS and RHS of each matrix equality (note that this still incorporates every matrix elements but in a more compact form)
I have found that the objective function based on eighteen components converges to a known solution (from an example) with far more reliability than the equation with eight components.
My question is, why does lsqnonlin perform better (under the same initial guess conditions) with an objective equation with more components rather than fewer, when both functions contain the same information, just in a different form?
Please let me know if you need more information,
Many thanks
Toby
  2 comentarios
jgg
jgg el 22 de Feb. de 2016
I'm not sure either, but if you're using Trust-region as your algorithm, it might be that the local properties of the larger system are "simpler" to represent as the lower level manifold, which makes it perform better. This is just a thought; you could probably explore this behaviour by varying the algorithm and seeing if you get differences or improvements.
Toby Howison
Toby Howison el 23 de Feb. de 2016
Thanks. Yeah I will do that. It also is performing better when I provide the Jacobian rather than taking the numerical approx.
Cheers!

Iniciar sesión para comentar.

Respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by