//////////////////////////////////////////
/// TP noté du 11 avril 2016 - Corrigé ///
//////////////////////////////////////////

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

N = 10000;
X = rand(N,1);
v = (X<1/6) + 2*(X<1/2).*(X>1/6) + 4*(X>1/2);

xset('window',0);
clf();
histplot([0.5,1.5,2.5,3.5,4.5], v);
plot([1,2,4], [1/6,1/3,1/2], 'r');



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

clear
N = 100000;
v = asin(rand(N,1));

xset('window',1);
clf();
histplot(20, v);
x = [0:0.01:%pi/2];
plot([x], cos(x),'r');



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

clear
N = 10000;
X = rand(N,1);
moy = sum( log(cos(X)) )/N;
var = sum( log(cos(X)).^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 = 0.5 * [1 1 0 0  ;  1 0 1 0  ;  1 0 0 1  ;  2 0 0 0];
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([8 4 2 1]/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([8 4 2 1]*[1;2;3;4]/15)
