How can I plot through a histogram the random number generated by matlab.I want to use just rand function.The output of the function is n*m matrix.

function r = randomness(limit,n,m)
r=floor(1+limit*rand(n,m));
% hist(r(1:n*m),1:limit) %%r(:) is sufficient
% title('Histogram of random numbers')
end
my problem is why hist function is written in that way?

 Accepted Answer

The author did r(1:n*m) to get r into a 1-dimensional row vector. If r had remained a 2-D matrix, then hist, like a lot of MATLAB functions, gives you a hist for every column separately. The author didn't want m histograms, they wanted only one histogram so they make r 1-D. However, this could have been done simpler, and in a more MATLAB-ish manner, by simply doing r(:) as their comment mentioned.
The 1:limit was to specify the centers, and hence the number, of the bins.

Products

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!