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

3 次查看(过去 30 天)
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.

采纳的回答

Matt J
Matt J 2017-9-5
编辑:Matt J 2017-9-5
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 个评论
Mehdi Gh
Mehdi Gh 2017-9-5
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 2017-9-5
编辑:Matt J 2017-9-5
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Global or Multiple Starting Point Search 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by