Clear Filters
Clear Filters

How to obtain the Jacobian matrix (or co-variance matrix) from a multi- or global-search

3 views (last 30 days)
Using lsqnonlin for non-linear fitting, you can obtain Jacobian matrix in the output:
[x,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(___)
I however used multistart with lsqnonlin to avoid local minima. On contrary, the command run which is needed to do a multisearch with lsqnonlin (see here ) dos not provide Jacobian as an output. Any suggestion how can I get it? I need it to determine the confidence intervals for the estimated parameters.

Accepted Answer

Matt J
Matt J on 5 Sep 2017
Edited: Matt J on 5 Sep 2017
Once you have the solution xsol using multistart, just run lsqnonin without multistart and with xsol as the initial guess. If xsol was a solution, it should stop in a single iteration (or you can force it to) and the output should be the finite difference Jacobian at that point.
  2 Comments
Mehdi Gh
Mehdi Gh on 5 Sep 2017
Thanks Matt for you answer. Do you know how MATLAB calculates this Jacobian matrix? I mean if I want to calculate it analytically, what I have to do?
Matt J
Matt J on 5 Sep 2017
Edited: Matt J on 5 Sep 2017
It uses finite difference computations, if you do not provide your own analytical Jacobian computation. To do that, you use the 'SpecifyObjectiveGradient' option, as described here.

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!