lsqcurvefit
lsqcurvefit
使您能够将参数化非线性函数轻松地拟合到数据。你也可以用lsqnonlin
;lsqcurvefit
这仅仅是一种方便的呼叫方式吗lsqnonlin
曲线拟合。
在这个例子中,向量xdata
表示100个数据点和向量ydata
表示相关的度量值。生成问题的数据。
rng (5489“旋风”)%可再生的xdata = 2 *日志(rand (100 1));ydata =((100 1) + 1。* randn (100,1)) + (3 * 1 (100 1) +...1) 0.5 * randn(100)。* exp (((2 * (100 1) +...5 * randn(100 1)))。* xdata);
模型中的关系xdata
和ydata
是
生成的代码xdata
从均值为2的指数分布的100个独立样本。生成的代码ydata
从它的定义方程使用= (1; 3; 2)
,通过将正态偏差与标准偏差相加而感到不安(0.1; 0.5; 0.5)
.
目标是找到参数 , = 1, 2, 3,对于最适合数据的模型。
为了使参数与数据吻合lsqcurvefit
,则需要定义拟合函数。定义拟合函数预测
作为匿名函数。
预测= @ (xdata) (1) * 1 (100 1) + (2) * exp (- a (3) * xdata);
为了使模型与数据相符,lsqcurvefit
需要初步估计a0
的参数。
a0 = (2; 2; 2);
调用lsqcurvefit
求最佳拟合参数
.
[ahat, resnorm,残余,exitflag输出,λ,雅可比矩阵)=...lsqcurvefit(预测、a0 xdata ydata);
局部最小值。Lsqcurvefit停止是因为相对于初始值的平方和的最终变化小于函数公差的值。
检查结果参数。
disp (ahat)
1.0169 3.1444 2.1596
拟合值ahat
在8%以内= (1; 3; 2)
.
如果您有统计学和机器学习工具箱™软件,请使用nlparci
函数生成的置信区间ahat
估计。
lsqcurvefit
|nlparci
(统计学和机器学习工具箱)