Why do I get identical outputs from a randomized script?

3 ビュー (過去 30 日間)
Destiny Ellenor
Destiny Ellenor 2020 年 10 月 28 日
回答済み: Peter Perkins 2020 年 11 月 19 日
Hi all,
I am working on writing a script to simulate the random motion and decay of particles (random-walk). However, despite the fact that I call:
rng('shuffle');
at the beginnning of the script (after I call the function w/ input arguments), I have been getting the exact same output vectors from different/separate runs. rand and exprnd are both called within the script.
Should I make this the first line of the script instead? Or has anyone else had issues with this?
  1 件のコメント
Destiny Ellenor
Destiny Ellenor 2020 年 10 月 28 日
UPDATE**
I am submittng the scripts to a remote cluster using SLURM workload manager in LINUX. With this, I submit several jobs that are queued. I think some of these jobs may be submitted at the same time, and from what I have been reading, rng('shuffle') is dependent on the date and time that it is called. So becuase some of the scripts are submitted at the same time, they end up with the same seed.
However, I do not know how to fix this. Is there a way to either ensure different seeds are selected OR ensure SLURM jobs are not submitted at the same time?
Thank you in advance.

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

回答 (1 件)

Peter Perkins
Peter Perkins 2020 年 11 月 19 日
You don't want to use seeds to get independent parallel random number streams. Switch to using one of the generators that is designed for parallel random number generation, and use separate streams or substreams.

カテゴリ

Help Center および File ExchangeClusters and Clouds についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by