我正在使用lsqcurvefit
来适应这样的函数a。* x。^ b,它会给我a,b和resnorm
。
我想知道我怎么能对a和b有不确定性。是否可以使用“雅各布”'像这样?
[x,resnorm,residual,exitflag,output,jacobian] = lsqcurvefit (...)
然后我将有一个有两列的数组,我认为这与这个事实有关,我有两个适合的参数!但我不知道如何解释它或使用它们来估算a和b的错误。
答案 0 :(得分:2)
所以看起来最好使用统计工具箱中的函数来实现。有关如何获取拟合参数的标准偏差的示例,请参阅http://www.mathworks.com/support/solutions/en/data/1-18QY1/?solution=1-18QY1和此http://www.mathworks.com/matlabcentral/answers/56734,但前提是您可以访问Matlab的统计工具箱。
如果您没有该工具箱,那么可以从simple linear regression上的维基百科文章中找到斜率参数的标准误差:
大多数分子都有resnorm
,分母是相当微不足道的:
sum((X - mean(X)).^2)
其中X
是用于查找拟合的所有输入自变量的向量
因此,您可以通过记录日志将您的拟合转换为线性拟合,因此请使用Yln = log(Y)
和Xln = log(X)
来获取新模型:
Yln = b*ln(a) + b*Xln
并使用公式表示简单线性回归参数的标准误差。