MATLAB如何做拟合?lsqcurvefit函数怎么使用?

作者:追风筝的人 | 创建时间: 2023-07-22
MATLAB教学视频:详解数据拟合的MATLAB实现(非线性拟合),视频时长约106分钟,通过两个具体的应用案例,深入地解读了MATLAB非线性拟合函数lsqcurvefit的具体用法;生动地讲解了局部最优解的基本概念;对拟合效果的数学评价...
MATLAB如何做拟合?lsqcurvefit函数怎么使用?

MATLAB教学视频:详解数据拟合的MATLAB实现(非线性拟合)

教学内容 1. 拟合残差及残差平方和 2. 人口增长模型 2.1 人口指数增长模型——Malthus 模型 2.2 人口阻滞增长模型——Logistics 模型 3. MATLAB实现非线性拟合——lsqcurvefit 4. 寻优算法——局部最优解 5. 拟合效果的评价 6. 土壤含水率问题的分析 7. 结束语——拟合问题总结

拟合残差及残差平方和 1. 残差:已知的测量点到拟合曲线 y = f(x) 的距离,即拟合值(估计值) 与测量值(观察值) 之差 2. 残差平方和:即残差的平方和:拟合值(估计值) 与测量值(观察值) 之差的平方和 3. 回顾线性拟合教学视频:拟合的定义:求解y = f(x) 里的待定参数,使得残差平方和最小

人口指数增长模型—— Malthus 模型 人口阻滞增长模型—— Logistics 模型

案例一:人口预测问题 1. 根据Logistics人口模型:待定参数:r & ym 2. 方程个数(10) 大于未知数个数(2):拟合问题:非线性拟合问题

MATLAB实现非线性拟合——lsqcurvefit 调用格式——lsqcurvefit(least-squares curve-fitting) 1. 最简单的格式:param=lsqcurvefit(fun, param0, xdata, ydata) 2. 为了便于理解,将help 里的 x / x0 使用param/ param0 替换

使用lsqcurvefit 实现非线性拟合的基本步骤 1. 给定已知的数据 (x, y) 以及x y 之间满足的函数关系 y = f(x) 1.1 确定 y = f(x) 中的待定参数 param = [r, ym] 1.2 定义拟合函数 y = f(x) : function y = curvefun (param, x) 1.3 给定参数的初值param0:调用lsqcurvefit 求解 2. 计算拟合残差/ 残差平方和 3. 执行结果:得到了局部最小值,lsqcurvefit内部迭代结束(收敛) 4. 拟合的定义 / 目标:残差平方和最小 5. 局部最小值:残差平方和局部最小

寻优算法——局部最优解 1. 拟合问题:寻找参数:残差平方和最小 2. 不同的初值:可能得到不同的局部最优解 3. 不合理的初值:可能导致求解失败

拟合效果的评价 1. 不同的参数初值:可能会得到不同的局部最优解 2. 引发两个基本问题 2.1 哪个局部的最优解好? 2.2 局部最优解(拟合数据) 与测量数据的“匹配度”如何? 3. 评价指标 3.1 横向比较不同的局部最优解:拟合的定义是使得残差平方和最小:直接比较resnorm 3.2 拟合数据与测量数据的“匹配度” 3.2.1 计算测量数据与拟合数据之间的标准均方根误差(NRMSE):越接近1 越好 3.2.2 计算测量数据与拟合数据之间的标准均方误差(NMSE):越接近1 越好 3.2.3 MATLAB 实现:系统辨识工具箱里的goodnessOfFit函数

MATLAB实现非线性拟合——lsqcurvefit 高级调用格式——更多输入设置/ 输出信息 [param, resnorm, residual, exitflag, output] = lsqcurvefit(fun, param0, xdata, ydata, lb, ub, options)

案例二:土壤含水率问题 参考文献:彭建平,邵爱军. 用MATLAB确定土壤水分特征曲线参数[J]. 土壤(Soils), 2007, 39 (3)

结束语——拟合问题总结 1. 拟合问题:能转化成线性拟合问题的,绝不使用非线性拟合 1.1 线性拟合 1.1.1 通用方法:求解线性超定方程组 1.1.2 求解线性拟合问题,无需给出参数的初值,算法稳定可靠:全局最优解 1.2 非线性拟合 1.2.1 MATLAB函数:lsqcurvefit/ lsqnonlin/ nlinfit/ fsolve:局部最优解 1.2.2 拟合问题:也可以转化成优化问题:MATLAB 的优化函数求解 1.2.3 求解非线性拟合问题,需要给出待定参数的初值,可能会出现迭代不收敛 2. 初值的选取 2.1 根据函数的形式,使用一部分数据,预估参数的值人口模型的分析 2.2 根据参数的物理意义和建模所用的专业知识,合理确定参数的范围:土壤含水率问题

温馨提示

做拟合计算时,需要满足的数学条件,一定要清晰,切莫混淆基本概念
lsqcurvefit的使用方法是有固定格式的,更多用法,请参照MATLAB help文档
点击展开全文

更多推荐