MATLAB Answers

Why is rand faster than rand(1) ?

2 views (last 30 days)
sunil anandatheertha
sunil anandatheertha on 21 Jul 2020
I am optimizing my monte-carlo codes and have a question on rand function. Below, i give simple codes to get a random number. All three of the below works for my problem. Looking at the elapsed times, I want to know why is rand faster than rand(1)? Although I kind of know why method 3 is fast, your comments are most welcome.
%%%%%%%%%%%%%%
% METHOD - 1
tic
for count = 1:1e7
a = rand;
end
toc
% Elapsed time is 0.383401 seconds.
%%%%%%%%%%%%%%
% METHOD - 2
tic
for count = 1:1e7
a = rand(1);
end
toc
% Elapsed time is 7.589860 seconds.
%%%%%%%%%%%%%%
% METHOD - 3
a = rand(1e7,1);
tic
for count = 1:numel(a)
aa = a(count);
end
toc
% Elapsed time is 0.139859 seconds.
%%%%%%%%%%%%%%
  5 Comments

Sign in to comment.

Answers (0)

Tags

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!