Borrar filtros
Borrar filtros

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

3 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Matt J
Matt J el 5 de Sept. de 2017
Editada: Matt J el 5 de Sept. de 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 comentarios
Mehdi Gh
Mehdi Gh el 5 de Sept. de 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 el 5 de Sept. de 2017
Editada: Matt J el 5 de Sept. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Global or Multiple Starting Point Search 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