以一维输入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);