目录
- 最小二乘法概述
- MATLAB源代码展示
- 应用结果展示
- 更新日志
1、最小二乘法概述
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
2、MATLAB源代码展示
% x:自变量;y:因变量;n:拟合曲线的方程的阶数;m:自变量的数量
function lstsqu(x,y,n,m);
xx=x;
% 最小二乘法拟合曲线
p=polyfit(xx,y,n);
x1=xx(1):0.1:xx(m)+0.1;
y1=polyval(p,x1);
plot(xx,y,'*r',x1,y1,'-b','Color',[1,0,0]);grid on;
xlabel('x');ylabel('y');
title('最小二乘法拟合曲线');
% plot函数直接绘制曲线
figure;
plot(xx,y,'Color',[0,0,1]);grid on;
xlabel('x');ylabel('y');
title('plot函数直接绘制曲线');
% 同时显示两条曲线
figure;
plot(xx,y,'*r',x1,y1,'-b','Color',[1,0,0]);grid on;
hold on;
plot(xx,y,'Color',[0,0,1]);grid on;
xlabel('x');ylabel('y');
title('同时显示两条曲线');
% 输出曲线函数表达式
syms ft
syms x;
ft0=p(1);
for i=1:n
ft0=ft0+p(i+1)*x^i;
end
f=ft0
3、应用结果展示
程序:
x=[0.05 0.10 0.15 0.20];
y=[0.001 0.006 0.057 0.124];
n=1;
m=4;
lstsqu(x,y,n,m);
结果:
4、更新日志
2019.12.22
更新至V1.0.0
来源:CSDN
作者:weixin_44018070
链接:https://blog.csdn.net/weixin_44018070/article/details/103656051