c=[]; for i=1:length(b) c = [c a(i)*ones(1,b(i))]; c = [c a(i)*ones(1,b(i))]; end while any(~(diff(c))) [y,i] = sort(rand(1,sum(b))); c=c(i); c=c(randperm(sum(b))); end