Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Matt J
Matt J le 5 Sep 2017
Modifié(e) : Matt J le 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 commentaires
Mehdi Gh
Mehdi Gh le 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 le 5 Sep 2017
Modifié(e) : Matt J le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Global or Multiple Starting Point Search dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by