clear all;
close all;

%%%1DDataDomain
x=[2 3 1 2 2.5];
y=[2 3 6 6.5 9.5];

A=y*x*inv(x*x);

xt=[0 4];
yt=A*xt;

figure;plot(x,y,.);axis([0 4 0 12]);grid on;
hold on;line(xt,yt);xlabel(Feature 1);ylabel(Feature 2);


%%% 2D Data Domain
x1=[2 3 1 2 2.5];
x2=[2 3 2.1 2 2.5];
yy=[2 3 6 6.5 9.5];

xx=[x1; x2];
AA=yy*xx*inv(xx*xx);

xx1=[0 0 4 4];
xx2=[0 4 0 4];
xxx=[xx1; xx2];

yy1=AA*xxx;
yy2=reshape(yy1,2,2);
[mg1,mg2]=meshgrid(0:4:4);

figure;plot3(x1,x2,yy,r.);grid on;axis([0 4 0 4 0 12]);
hold on;surf(mg1,mg2,yy2);view([259 44]);
xlabel(Feature 1);ylabel(Feature 2);zlabel(Responses);