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

7 ビュー (過去 30 日間)
RAJ DATTA
RAJ DATTA 2019 年 9 月 23 日
コメント済み: Adam Danz 2019 年 10 月 1 日
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 件のコメント
Adam Danz
Adam Danz 2019 年 9 月 23 日
編集済み: Adam Danz 2019 年 9 月 24 日
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 2019 年 10 月 1 日
@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."

サインインしてコメントする。

回答 (1 件)

Adam Danz
Adam Danz 2019 年 9 月 23 日
編集済み: Adam Danz 2019 年 9 月 25 日
"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:

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by