//////////////////////////////////////////
//// TP noté du 2 mai 2016 - Corrigé  ////
//////////////////////////////////////////

/////////////// Exercice 1 ///////////////

N = 10000;
X = rand(N,1);
v = 3*(X<0.1) + 4*(X>0.6);

xset('window',0);
clf();
histplot([-0.5,0.5,1.5,2.5,3.5,4.5], v);
plot([0,3,4], [0.5,0.1,0.4], 'r');



/////////////// Exercice 2 ///////////////

clear
N = 100000;
v = (1 + 7*rand(N,1)).^(1/3);

xset('window',1);
clf();
histplot(20, v);
x = [1:0.01:2];
plot([x], 3*x.^2/7,'r');



/////////////// Exercice 3 ///////////////

clear
N = 10000;
X = rand(N,1);
moy = sum( (1+X+X.^5).^-1 )/N;
var = sum( (1+X+X.^5).^-2 )/N - moy^2;
disp("Intervalle de confiance sur l intégrale :");
disp("[ " + string(moy-1.96*sqrt(var/N)) + " ; " + string(moy+1.96*sqrt(var/N)) + " ]");
disp("(centré en "+string(moy)+", de largeur "+string(2*1.96*sqrt(var/N))+")");



/////////////// Exercice 4 ///////////////
disp("")
disp("")

clear
P = (1/3) * [1 2 0 0  ;  1 0 2 0  ;  0 1 0 2  ;  0 0 1 2];
N = 10000;
X = grand(N, 'markov', P, 1);

mu_approx = [0,0,0,0]
for i=1:4
  mu_approx(i) = sum(X==i)/N
end
disp("La mesure invariante de la chaîne est approximativement :")
disp(mu_approx)
disp("La valeur exacte est :")
disp([1 2 4 8]/15)
disp("")

disp("La moyenne de f(i)=i sous la mesure invariante est approximativement :")
disp(mu_approx*[1;2;3;4])
disp("La valeur exacte est :")
disp([1 2 4 8]*[1;2;3;4]/15)
