function []=polya1(n) //trace une trajectoire de la martingale M clf() X=zeros(1,n) //Ce vecteur contiendra le nombre de boules rouges à chaque instant M=[1/2] X(1,1)=1 //initialisation for i=2:n+1 X(1,i)=X(1,i-1)+bool2s(rand(1,1)<(X(1,i-1)/i)) //je tire une uniforme sur [0,1], si sa valeur est plus petite que la proportion de boules rouges, je rajoute une boule rouge M=[M,X(1,i)/(i+2)] //je divise le nombre de boules rouges par le nombre de boules dans l'urne end plot2d([0:n],M) endfunction function [a]=polya2(n) //calcul une trajectoire de taille n de M et rend la dernière valeur clf() X=zeros(1,n) M=[1/2] X(1,1)=1 for i=2:n+1 X(1,i)=X(1,i-1)+bool2s(rand(1,1)<(X(1,i-1)/i)) M=[M,X(1,i)/(i+2)] end a=M(1,n+1) endfunction function histo(m,n) clf() A=[] for i=1:m A=[A,polya2(n)] end histplot(100,A) endfunction