% transition_count(x,N) makes a table of transitions of x and labels the states using letters in the string N function [void] = transition_count(x,N) n = length(N); % how many states there are M = zeros(n,n); % initialize the count matrix for i=1:length(x)-1, M(x(i),x(i+1)) = M(x(i),x(i+1)) + 1; % add one for each transition end fprintf('\n'); fprintf('Counts '); for i=1:n, fprintf(' %s', N(i)); end fprintf(' Row total Frequency\n'); for i=1:n, fprintf(' %s ',N(i)); fprintf('%8d ',M(i,:)); fprintf('%9d', sum(M(i,:))); fprintf('%11.4f\n', sum(M(i,:))/sum(sum(M))); end fprintf('\n'); for i=1:n, M(i,:) = M(i,:)/sum(M(i,:)); % make rows sum to 1 end fprintf('Frequencies'); for i=1:n, fprintf(' %s', N(i)); end fprintf('\n'); for i=1:n, fprintf(' %s ',N(i)); fprintf('%8.4f ',M(i,:)); fprintf('\n'); end