我如何在 Matlab 中使用 lsqcurvefit 计算 95% 的置信区间?

How do I calculate in Matlab the 95% confidence interval with lsqcurvefit?

由于 Matlab 中固定参数的一些问题,我不得不从 std 切换。 fit 命令到 lsqcurvefit

对于普通的fit命令,输出参数之一是gof,从中我可以计算出每个参数的+/-和r^2值。

lsqcurvefit 应该也可以。但我没有将其作为输出参数之一。

或者换句话说:我如何从 lsqcurvefit 计算拟合参数的 +/-? 有人可以帮我吗?

谢谢,尼科

是的。获取 lsqcurvefit 的所有输出参数并在 nlparci 中使用它们,如下所示:

[x,resnorm,residual,exitflag,output,lambda,jacobian] =...
                               lsqcurvefit(@myfun,x0,xdata,ydata);
conf = nlparci(x,residual,'jacobian',jacobian)

现在 conf 包含一个 N x 2 矩阵用于您的 N 拟合参数。 conf 的每一行给出相应参数的上下 95% 置信区间。