clc;
clear;
%set data
X=[3 6 4 7 2 8 5 1];
Y=[12 18 15 28 6 16 14 13];
esp=0.0003;
gamma=0.001; %rate
w_old=zeros(size(X',2),1);
k=1;
while 1
minJ_w(k)=1/2*(norm(X'*w_old-Y'))^2;
w_new=w_old-gamma*(X*X'*w_old-X*Y');
fprintf('The %dth iteration,minJ_w(%d)=%f,\n',k,k,minJ_w(k));
if norm(w_new-w_old)<esp
w_best=w_new;
break;
end
w_old=w_new;
k=k+1;
end
y=w_old*X';
plot(X',Y','ro');
hold on;
plot(X',y);
clear;
%set data
X=[3 6 4 7 2 8 5 1];
Y=[12 18 15 28 6 16 14 13];
esp=0.0003;
gamma=0.001; %rate
w_old=zeros(size(X',2),1);
k=1;
while 1
minJ_w(k)=1/2*(norm(X'*w_old-Y'))^2;
w_new=w_old-gamma*(X*X'*w_old-X*Y');
fprintf('The %dth iteration,minJ_w(%d)=%f,\n',k,k,minJ_w(k));
if norm(w_new-w_old)<esp
w_best=w_new;
break;
end
w_old=w_new;
k=k+1;
end
y=w_old*X';
plot(X',Y','ro');
hold on;
plot(X',y);