// TP4 - Exercice 3
//
// Simulation de la chaîne de Markov de matrice de transition Q=
//  0.1  0.2  0.5  0.2
//  0.6  0.1  0.1  0.2
//  0.3  0.1  0.2  0.4
//  0.1  0.1  0.1  0.7


N = 50000; // Nombre de pas de la simulation

Q = [0.1 0.2 0.5 0.2  ;  0.6 0.1 0.1 0.2  ;  0.3 0.1 0.2 0.4  ;  0.1 0.1 0.1 0.7]// La matrice de transition

X = grand(N,'markov',Q,1); // On simule N pas de la chaîne de Markov
                           // partant de 1.


// Les probabilités invariantes de la chaîne sont les
// probabilité qui appartiennent au noyau de Q'-I. Par le
// calcul, le noyau de Q'-I est l'ensemble des vecteurs
// de la forme (5t,3t,5t,12t). La seule probabilité ayant cette
// forme est (1/5, 3/25, 1/5, 12/25).


// On calcule une appproximation de la mesure invariante par la formule
// µ(i) ~ (Nombre de passage en i)/N
m_inv = [0,0,0,0]
for i=1:4
  m_inv(i) = sum(X==i)/N
end


disp("L estimation de la mesure invariante obtenue par observation de la trajectoire est :")
disp(m_inv)
disp("La valeur théorique est :")
disp([5 3 5 12]/25)



disp("Approximation de la moyenne de x^2 sous la mesure invariante :")
disp(m_inv*[1;4;9;16])
disp("La valeur théorique est :")
disp([5 3 5 12]*[1;4;9;16]/25)



