假设 y = f(x),那么每个x应该会对应一个y。对一个未知公式的 f(x)系统,在科学实验中,常常需要测量两个变量的多组数据,然后找出他们的近似函数关系。通常,我们把这种处理数据的方法称之为经验配线,所找到的函数关系称为经验公式。最小二乘法就是最常用的一种配线方式。

最小二乘法是一种数学优化技术,它通过最小误差的平方和找到一组数据的最佳函数匹配。最小二乘法常用于曲线拟合。

下面,我们通过一个例子来研究最小二乘法函数polyfit的使用。

首先,我们通过数据采集,得到一组y和x数据的对应关系并绘制成曲线。

x = [88    88    96    98    99   101   101   102   102   104   105   106   107   109   111   113   113   113   116   119   121   121   126   128   128   132   134   140   140   141   141  145   147   148  150   153   154   154   154   155   158   160   161   165   166   168   172   174];y = [2.5882       2.7059       2.8729       2.8834       2.9814       3.0909       3.1638       3.2353       3.3929       3.5404       3.6158       3.7569       3.8235        3.865   3.8824       3.9286       3.9394       4.1765       4.2353       4.3558       4.5856       4.6061       4.6584       4.7059       4.7826       4.8066       4.8214       4.8824   4.9697       5.0847        5.092        5.092       5.1381       5.1553       5.1786       5.2381       5.2727       5.4118       5.4237       5.5882       5.5932       5.8564   5.9627        6.135       6.4972       6.6071       6.6471       6.8485];plot(x,y,'o');

原始采样数据

通过polyfit进行一阶拟合

x = [88    88    96    98    99   101   101   102   102   104   105   106   107   109   111   113   113   113   116   119   121   121   126   128   128   132   134   140   140   141   141  145   147   148  150   153   154   154   154   155   158   160   161   165   166   168   172   174];y = [2.5882       2.7059       2.8729       2.8834       2.9814       3.0909       3.1638       3.2353       3.3929       3.5404       3.6158       3.7569       3.8235        3.865   3.8824       3.9286       3.9394       4.1765       4.2353       4.3558       4.5856       4.6061       4.6584       4.7059       4.7826       4.8066       4.8214       4.8824   4.9697       5.0847        5.092        5.092       5.1381       5.1553       5.1786       5.2381       5.2727       5.4118       5.4237       5.5882       5.5932       5.8564   5.9627        6.135       6.4972       6.6071       6.6471       6.8485];%一阶拟合
coefficient=polyfit(x,y,1);%将拟合后系数带入公式 Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)
yn=polyval(coefficient,x);plot(x,y,'o');hold on;
plot(x,yn,'-k');hold on;
legend(sprintf("x-y"),sprintf("yn = (%f)x + (%f)",coefficient(1,1),coefficient(1,2)));

1阶拟合的曲线效果

通过polyfit进行二阶拟合

x = [88    88    96    98    99   101   101   102   102   104   105   106   107   109   111   113   113   113   116   119   121   121   126   128   128   132   134   140   140   141   141  145   147   148  150   153   154   154   154   155   158   160   161   165   166   168   172   174];y = [2.5882       2.7059       2.8729       2.8834       2.9814       3.0909       3.1638       3.2353       3.3929       3.5404       3.6158       3.7569       3.8235        3.865   3.8824       3.9286       3.9394       4.1765       4.2353       4.3558       4.5856       4.6061       4.6584       4.7059       4.7826       4.8066       4.8214       4.8824   4.9697       5.0847        5.092        5.092       5.1381       5.1553       5.1786       5.2381       5.2727       5.4118       5.4237       5.5882       5.5932       5.8564   5.9627        6.135       6.4972       6.6071       6.6471       6.8485];%二阶拟合
coefficient=polyfit(x,y,2);%将拟合后系数带入公式 Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)
yn=polyval(coefficient,x);plot(x,y,'o');hold on;
plot(x,yn,'-k');hold on;
legend(sprintf("x-y"),sprintf("yn = (%f)x² + (%f)x + (%f)",coefficient(1,1),coefficient(1,2),coefficient(1,3)));

同理,可得到更多阶拟合的效果

3阶拟合
6阶拟合

由此可见,在系统允许的条件下,阶数越多,拟合出来的曲线越逼近真实的测量曲线。这个工作要是放在人工设计里实现,将会是一个非常繁琐的事情,最小二乘法恰恰非常适合解决这类曲线拟合的工作。

数学建模最小二乘法拟合_MATLAB最小二乘法拟合曲线公式相关推荐

  1. 【4.0】 数学建模中拟合算法详解|内附清晰图片和详细代码实现

    一.前言 与插值问题不同,在拟合问题中不需要曲线一定经过给定的点.拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小损失函数) 插值和拟合的区别 ...

  2. 数学建模4 拟合算法

    1.插值与拟合 插值算法中,得到的多项式f(x)要经过所有样本点.但是如果样本点太多,那么这个多项式次数过高,会造成龙格现象.尽管我们可以选择分段的方法避免这种现象,但是更多时候我们倾向于得到一个确定 ...

  3. matlab最小二乘法拟合论文,最小二乘法原理,拟合(matlab)。

    最小二乘法: 原理: 用各个离差的平方和M=Σ[yi-(axi+b)]^2 (i = 1...n)最小来保证每个离差的绝对值都很小. 为求其最小值,可用函数M对a.b求偏导,并令偏导数为0. 整理得( ...

  4. 数学建模-4.拟合算法

    拟合算法 区别于插值算法 拟合问题中不需要曲线一定经过给定点 拟合问题的目标是求出一个函数曲线,其在某种准则下与所有数据点最接近,即曲线拟合的最好(最小化损失函数) 引例 最小二乘法求解 下一步,求出 ...

  5. (一)MATLAB数学建模——数据拟合

    目录 一.简介 二.多项式拟合 (一)指令介绍 (二)代码 三.指定函数拟合 (一)指令介绍 (二)代码 一.简介 曲线拟合也叫曲线逼近,主要要求拟合的曲线能合理反映数据的基本趋势,而不一定要求曲线一 ...

  6. 数学建模之拟合插值方法

    插值和拟合 插值: 利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法 拟合: 形象的说,拟合就是把平 ...

  7. 【数学建模】拟合算法+Matlab实现

    学习内容: 提示:这里可以添加要学的内容 例如: 1. 了解拟合算法基本内容 2. 使用Matlab实现拟合算法 学习时间: 2020.12.09 学习产出: 1.matlab实现拟合算法的几个小例子 ...

  8. python数学建模--数据拟合

    目录 numpy.ployfit() scipy.optimize.curve_fit() Python的多个模块中,很多函数或方法可以拟合未知参数,比如 numpy.ployfit() 问题1:对下 ...

  9. 一个实例用matlab分别画出拟合和插值,数学建模培训之四--拟合与插值专题(hzd).doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp微积分 数学建模培训之四--拟合与插值专题(hzd).doc6 ...

最新文章

  1. 春天来了,我也发“芽”了!
  2. 西部数据移动硬盘哪个型号好_飞利浦电视哪个型号好?这篇文章有你想要的答案...
  3. Moodle安全漏洞如何启动远程代码执行?
  4. uaredirect.js
  5. 站在汽修厂的角度看需求
  6. yenv - 一个使用 JAML 文件管理环境的 Node.js 工具
  7. python xlrd课程_python中xlrd模块的使用详解
  8. Java编程之反射中的注解详解
  9. JavaScript基础介绍
  10. 2020 APP批量头像,高质量严选真实用户头像
  11. Adobe学习记录:PR常用快捷键
  12. ----化学方程式配平工具----
  13. SAP License Keys申请和导入
  14. 计算机方面各种级别论文版面费,国内计算机类杂志投稿评价.doc
  15. 记录docker failed to initialize docker desktop is shutting down解决办法
  16. 固液分离机市场现状及未来发展趋势
  17. densefusion代码
  18. HALCON图像格式
  19. 深圳市专精特新中小企业认定补贴政策及申报条件重点,补贴20-100万
  20. 埃隆麝香下一件大事是向宽带发射4万颗卫星

热门文章

  1. 【HDOJ】4043 FXTZ II
  2. java piggy,PiggyMetrics windows 部署
  3. 电脑突然断电蓝屏导致Git错误的一种解决办法
  4. 向国外发送邮件用什么邮箱?
  5. 云原生之下,百度智能云Palo如何驰骋大数据疆场?
  6. 大一计算机导论手写笔记,川大学霸笔记来啦(多图)!
  7. android轻量级数据存储框架Hawk
  8. tensorflow——960M显卡深度学习_报错no kernel image is available for execution on the device详解
  9. html背景音乐音量控制,视频加背景音乐 调小背景音乐音量 这样不影响原视频声音...
  10. Endnote文献管理方法