主要内容

非线性曲线拟合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);

模型中的关系xdataydata

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

生成的代码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估计。

另请参阅

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

相关的话题