MATLAB实现二维离散点的最小二乘法拟合 | 您所在的位置:网站首页 › matlab拟合三维曲线用于查表 › MATLAB实现二维离散点的最小二乘法拟合 |
目录
最小二乘法概述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 = 1f = 21/25 - (29*x)/500 n = 2f = (39x^2)/2000 - (71x)/100 + 31/5 n = 3f = (9x^3)/125 - (119x^2)/50 + (106*x)/5 - 40 4、更新日志2019.12.22 首次上传 2020.5.31 修改 |
CopyRight 2018-2019 实验室设备网 版权所有 |