function Q = randstocsym(n)
%
% Q = randstocsym(n)
%
% Genera una matrice stocastica simmetrica random di ordine n
Q = zeros(n);
v = rand(1,n);
v = v / sum(v);
for i = 1:n-1
  Q(i,i:n) = v;
  Q(i:n,i) = v';
  v = rand(1,n-i);
  v = v * ((1 - sum(Q(i + 1,1:i))) / sum(v));
end
Q(n,n) = v;
Q = Q - 2 * min([min(min(Q)),0]);
Q = Q / sum(Q(1,:));