MATLAB: Difference between rand n and randi

rand i and rand n

hello everyone!
i am stuck on a short question.
can anyone tell me the difference between rand i and rand n?
x1 = randn(1,10000);
shiftVal = randi(5000,1);
what s difference between them?explain the output which will come

Best Answer

nandn() generates normally distributed random numbers with zero mean and unit variance. Read about normal distribution here: https://en.wikipedia.org/wiki/Normal_distribution.
x1 = randn(1,10000); % x1 is 1x10000
randi() only generates integers with uniform distribution. First input to randi() describe what is the maximum value of interger you want.
shiftVal = randi(5000,1); % output is 1x1