how to close rng 'default' after using it once in a same program

5 Ansichten (letzte 30 Tage)
RAJ DATTA
RAJ DATTA am 23 Sep. 2019
Kommentiert: Adam Danz am 1 Okt. 2019
Suppose, there is a scenario where I am using random number generator(rand(n,1)) which I need to fix for the values of a variable for a loop. So, I am using the command rng 'default'. Again in the same program I need to vary the random numbers in some other loops. But for For this I need to stop rng 'default ' command. Can anybody tell me how to do this?
Thanks in advance.
  2 Kommentare
Adam Danz
Adam Danz am 23 Sep. 2019
Bearbeitet: Adam Danz am 24 Sep. 2019
I don't recommend setting rng('default') within a loop, if that's what you're doing. That defeats the purpose of using a random process since every iteration would have the same sequence of random numbers. If you need to keep track of the random number generator seed for each iteration of a loop, you can store it like this.
n = 5
rngState = [];
for i = 1:n
rngState = [rngState; rng()];
% Your code here
end
seeds = [rngState.Seed]
Adam Danz
Adam Danz am 1 Okt. 2019
@RAJ DATTA, if you was rng('shuffle') not the answer you were looking for? Maybe there's a different interpreptation of "For this I need to stop rng 'default ' command."

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam Danz
Adam Danz am 23 Sep. 2019
Bearbeitet: Adam Danz am 25 Sep. 2019
"For this I need to stop rng 'default ' command. Can anybody tell me how to do this? "
rng('shuffle')
will re-seed the random number generator based on the current time.
For more info:

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by