主要内容

非线性曲线拟合lsqcurvefit

lsqcurvefit使您能够轻松地将参数化非线性函数适合于数据。你也可以使用lsqnonlinlsqcurvefit是一种方便的打电话方式吗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);

建模的关系xdataydata

y d 一个 t 一个 一个 1 + 一个 2 经验值 - 一个 3. x d 一个 t 一个 + ε

生成的代码xdata100个独立样本的均值为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估计。

另请参阅

|(统计和机器学习工具箱)

相关的话题