37 views (last 30 days)
Randall on 29 Oct 2019
Answered: Ajay Pattassery on 31 Oct 2019
I gave an exam and figured I'd use rand in a few places to make sure there was no cheating. For question #2 on the exam, I specifically had 6 students solve the equation Ax=b with A=[0 -1 0 -1; -1 0 1 -2; 1 -1 0 1; 0 1 1 0]; and b=rand(4,1). I received exactly 3 different b-vectors from 3 pairs of students that don't talk with each other. In trying to understand the "chances" of this, I found
which says
"All the random number functions, rand, randn, randi, and randperm, draw values from a shared random number generator. Every time you start MATLAB®, the generator resets itself to the same state. Therefore, a command such as rand(2,2) returns the same result any time you execute it immediately following startup. Also, any script or function that calls the random number functions returns the same result whenever you restart."
I understand that when I open up and run matlab that it will reset the generator to the same state but is it obvious from this or other documentation that this should happen for pairs of people (with different releases and platforms)? A subsequent question had them use rand(3,3) and 6 different matrices were submitted.
John D'Errico
John D'Errico on 29 Oct 2019
Yes. There would be some release date beyond which it would be an issue.

Sign in to comment.

Answers (1)

Ajay Pattassery
Ajay Pattassery on 31 Oct 2019
It is difficult to reason why exactly three different pairs generated from the above information.
Atleast from MATLAB R2012a onwards when you open MATLAB, the result of the rand function is the same.

Community Treasure Hunt

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

Start Hunting!