% TP5ex3 Régression linéaire gaussienne simple

clear
disp ('Régression linéaire gaussienne simple');
n=input('Valeur de n : ');
a=input('Valeur de a : ');
b=input('Valeur de b : ');
sigcar=input('Valeur de la variance : ');

x=randn(n,1); % Choix d'une loi ...
epsilon=sqrt(sigcar).*randn(n,1);
Y=a+b.*x+epsilon;
X=[ones(n,1) x];

tetac=inv(X'*X)*(X')*Y;
ac=tetac(1,1);
bc=tetac(2,1);

Yc=X*tetac;
sigc=sum((Y-Yc).^2)/(n-2); % sigma carré chapeau

plot(x,Y,'*');
hold on;
plot(x,ac+bc*x,'r');
title('Régression linéaire gaussienne simple');
xlabel('Observations et droite des moindres carrés');
hold off;
disp('estimateur de la variance');
sigc