Objective function formulation for solving overdetermined nonlinear system using lsqnonlin

6 views (last 30 days)
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 Comments
jgg
jgg on 22 Feb 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 on 23 Feb 2016
Thanks. Yeah I will do that. It also is performing better when I provide the Jacobian rather than taking the numerical approx.
Cheers!

Sign in to comment.

Answers (0)

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!