lsqcurvefit函数(least-squares curve-fitting):用于最小二乘法求解非线性曲线拟合问题。即已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。
1.语法
x = lsqcurvefit(fun,x0,xdata,ydata)
从 x0 开始,求取合适的系数 x,使非线性函数 fun(x,xdata) 对数据 ydata 的拟合最佳(基于最小二乘指标)。ydata 必须与 fun 返回的向量(或矩阵)F 大小相同。
(1)fun:符号函数句柄,如果是以m文件的形式调用的时候,别忘记加@;
(2)x0:最开始预估的值(预拟合的未知参数的估计值)。即方程系数的预估值。
(3)xdata:已有的xdata.
(4)ydata:与xdata对应的ydata.
复杂一点的结构:x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options) 使用 options 所指定的优化选项执行最小化。使用 optimoptions 可设置这些选项。如果不存在边界,则为 lb 和 ub 传递空矩阵。
算法选择:
默认的 ‘trust-region-reflective’ 算法,可以通过设置改为’levenberg-marquardt’ 算法:
options = optimoptions('lsqcurvefit','Algorithm','levenberg-marquardt');
lb = [];
ub = [];
x

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



