程序练习:Matlab 实现最小二乘法

Matlab练习

前言

学以致用,以用促学
当前数据分析,机器学习比较热门,因此特别从此其基础开始学起,最小二乘回归方法,是一种常用的拟合一堆数据中因变量与自变量的方法,它的优化目标是最小化均方误差

其matlab代码如下

n=100;

N=1000;

x=linspace(-3,3,n)';

X=linspace(-3,3,N)';

pic=pi*x;

y=sin(pic)./(pic)+0.1*x+0.03*rand(n,1);

p(:,1)=ones(n,1);

P(:,1)=ones(N,1);

for j=1:15

p(:,2*j)=sin(j/2*x);

p(:,2*j+1)=cos(j/2*x);

P(:,2*j)=sin(j/2*X);

P(:,2*j+1)=cos(j/2*X);

end

t=p\y;

F=P*t;

figure;

clf;

hold on;

axis([-3 3 -1 1]);

plot(X,F,'r-');

plot(x,y,'g');

运行结果如下,拟合效果很好
拟合图

猜你喜欢

转载自blog.csdn.net/lvsehaiyang1993/article/details/80372594