Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Matt J
Matt J il 5 Set 2017
Modificato: Matt J il 5 Set 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 Commenti
Mehdi Gh
Mehdi Gh il 5 Set 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 il 5 Set 2017
Modificato: Matt J il 5 Set 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Global or Multiple Starting Point Search in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by