rng usability missing seed functionality
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kristoffer Walker
am 27 Jan. 2023
Kommentiert: Rik
am 20 Jun. 2023
Folks,
It looks like using "seeds" is being considered "old fashioned" in Matlab 2022b, and there is a warning about it suggesting it will be obsolete soon. We are encouraged to use "rng" function instead, which has only one way to set the seed by using the "default" option. The problem I have with this is that my usage model is such that I want to change seeds and lock them for subsequent runs within the same program instance. I don't see how this is possibly unless I am able to save more than one "default" position. Is there another way to achieve my desired result using a function not targetted for obsolesence?
Thanks,
Kris
7 Kommentare
Rik
am 20 Jun. 2023
That is extremely strange. You're using R2019b, but the which command shows that the files used belongs to R2022b.
Akzeptierte Antwort
Steven Lord
am 27 Jan. 2023
It looks like using "seeds" is being considered "old fashioned" in Matlab 2022b, and there is a warning about it suggesting it will be obsolete soon.
Are you referring to this documentation page which has existed for many years now (IIRC since the introduction of rng in release R2011a over ten years ago?) That page describes why those syntaxes are discouraged, and it's not because they "old fashioned" but because they're probably not doing what you think they are.
We are encouraged to use "rng" function instead, which has only one way to set the seed by using the "default" option.
That is incorrect. You can specify a seed and a generator in rng. In fact, with your described usage you probably don't want to specify 'default', you want to explicitly fix both the seed and generator.
rng(1234, 'twister')
x = rand(1)
rng(5678, 'threefry')
y = rand(1)
rng(1234, 'twister')
z = rand(1)
x == z % true
1 Kommentar
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!