您的位置:首页 > 编程语言 > MATLAB

线性回归问题简单实现matlab

2016-08-23 16:14 337 查看
以一维输入X为例,样本大小为4

function [Theta]=linearRegression(X,Y,Theta,MaxIter)
i = MaxIter;
[num,~] = size(Y);
while(i >0)
for j=1:1:num
Theta(1) = Theta(1) + (Y(j)-(Theta(1)+Theta(2)*X(j)))*1;
Theta(2) = Theta(2) + (Y(j)-(Theta(1)+Theta(2)*X(j)))*X(j);
end
i = i -1;
end
end

X=[1;2;3;4];
Y=[1.1;2.2;2.7;3.8];
plot(X,Y,'rx','MarkerSize',10);
hold on;

theta=[1;1];
res = linearRegression(X,Y,theta,100);

x=0:10;
y=res(1)+res(2)*x;
plot(x,y);


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息