MATLAB实现二维离散点的最小二乘法拟合 您所在的位置:网站首页 matlab拟合三维曲线用于查表 MATLAB实现二维离散点的最小二乘法拟合

MATLAB实现二维离散点的最小二乘法拟合

#MATLAB实现二维离散点的最小二乘法拟合| 来源: 网络整理| 查看: 265

目录 最小二乘法概述MATLAB源代码展示应用结果展示更新日志 1、最小二乘法概述

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

2、MATLAB源代码展示

完整代码下载:添加链接描述

% x:自变量;y:因变量;n:要输出的拟合曲线的方程的最大阶数;m:自变量的数量 function lstsqu(x,y,n,m); xx=x; nn=n; for k=1:nn; % 最小二乘法拟合曲线 p=polyfit(xx,y,k); x1=xx(1):0.1:xx(m)+0.1; y1=polyval(p,x1); figure; plot(xx,y,'*r',x1,y1,'-b','Color',[1,0,0]);grid on; xlabel('x');ylabel('y'); title(['n=' num2str(k)]); % 输出曲线函数表达式 syms ft syms x; syms n; ft0=p(1); for i=1:k ft0=ft0+p(i+1)*x^i; end n=k f=ft0 end 3、应用结果展示

程序:

x=[0.05 0.10 0.15 0.20]; y=[0.001 0.006 0.057 0.124]; n=3; m=4; lstsqu(x,y,n,m);

结果:

图像:在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 表达式:

n =

1

f =

21/25 - (29*x)/500

n =

2

f =

(39x^2)/2000 - (71x)/100 + 31/5

n =

3

f =

(9x^3)/125 - (119x^2)/50 + (106*x)/5 - 40

4、更新日志

2019.12.22 首次上传

2020.5.31 修改



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有