function r = discreternd(n)

%   Random matrices from the discrete uniform distribution.
%   R = discreternd(N) returns a matrix of random numbers chosen 
%   uniformly from the set {1, 2, 3, ... ,N}.

%Initialize r to zero.
r = zeros(1,1);

r = ceil(n .* rand(1,1));

k1 = find(n < 0 | round(n) ~= n);
if any(k1) 
    tmp = NaN;
    r(k1) = tmp(ones(size(k1)));
end