% markov.m simula una cadena de Markov en {1, 2, ..., n} dadas una % condicion inicial mu y una matriz de transicion P % Programa para simular una cadena de Markov % Se puede definir mu y P usando un archivo .m distinto. % El programa asume que los nombres de los estados son 1,2, etc. % Abajo hay un ejemplo que se puede usar descomentando estas lineas mu=[1 0 0]; % distribucion inicial P=[[.6 .3 .1]; [.3 .3 .4]; [.4 .1 .5]]; % matriz de transicion n=180; % numero de pasos a simular x=zeros(1,n+1); % inicializar y borrar si hay datos anteriores t=0:n; % indices de tiempo. x(1)=rando(mu); % genera el valor de x(0) con distribucion mu for i=1:n, x(i+1) = rando(P(x(i),:)); end subplot(2,1,1) stairs(t,x); axis([0 n 0 (length(mu)+1)]); title('Una trayectoria de la cadena'); subplot(2,1,2) hist(x,length(mu)) title('Frecuencias relativas de la cantidad de visitas a cada estado')