MATLAB: Independence in rand function

random

Hi,
The rand function in matlab generates random numbers that are uniformly distributed. If for example, I say
a = rand(1000,1)
then a generates a vector with 1000 elements that are uniformly distributed. Is it safe to say that the all the 1000 numbers generated are independent from each other?

Best Answer

In a strict sense 'rand' is totally deterministic, since it depends entirely on the seed value with which it starts, and cannot therefore be regarded as a valid stochastic process in a theoretical sense. However, the complex algorithm underlying 'rand' is so designed that it gives the appearance of probabilistic independence and uniformity of distribution for its successive values, at least as far as many ordinary tests of such independence are concerned, such as autocorrelation, joint distributions, mean values, standard deviations, histograms, and the like. Most users of matlab, including myself, therefore use 'rand' as if it generates a sequence of truly probabilistically independent values with a uniform density on (0,1), and we appear to obtain satisfactory results.