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
100个独立样本的均值为2的指数分布。生成的代码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
(统计和机器学习工具箱)