目录
- 最小二乘法概述
- 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
修改