私のJulia 0.5スクリプトでは、スクリプトを再実行するたびにrand()と同じ結果を得るためにsrand(1234)を使用します。しかし、私は別の結果を得る。何が悪いですか?srand()でシードを修正すると、rand()と異なる結果が出る
-1
A
答えて
0
@Dan Getzがこのコメントで述べたように、これはあなたが知らないうちにランダム関数を呼び出すコードがあるためです。
あなたは同じ種セットと同じrand()
関数を呼び出す場合、期待どおり、あなたは同じ結果を得る:
julia> for i in 1:3
srand(1)
println(rand())
end
0.23603334566204692
0.23603334566204692
0.23603334566204692
しかし、あなたはしてもしなくてもよいかもしれランドにスクリプト内の別のコールを持っている場合調査したrand()
コールに行くと、乱数ジェネレータはさまざまな段階にあります。ループの2回目の反復で異なる値の乱数発生器と結果をオフセットし、余分なrand()
コールがありますか
julia> for i in 1:3
srand(1)
if i == 2
rand()
end
println(rand())
end
0.23603334566204692
0.34651701419196046
0.23603334566204692
注意:ここではこれを説明するための例です。
0
@ niczky12によって与えられた答えに加えて、あなた自身のジェネレータを定義し、より良い再現性のためにそのジェネレータを使用することをお勧めします。あなたのコントロール)は、あなたが得る乱数には影響しません。例えば
、シード1234のMersenneTwister
作成:次に、あなたは、単にあなたのrand
呼び出しに、この発電機を渡す
rng = MersenneTwister(1234)
を:
julia> rng = MersenneTwister(1234);
julia> rand(rng)
0.5908446386657102
julia> rand(rng, 2, 3)
2×3 Array{Float64,2}:
0.766797 0.460085 0.854147
0.566237 0.794026 0.200586
関連する問題
- 1. rand()とsrand()関数opengl visual cpp
- 2. Pythonインタプリタとスクリプトが異なる結果を出力する
- 3. SelectのオプションをリストするとFFとIEで異なる結果が出る
- 4. DirectorySearcherと異なる結果
- 5. Appendが書き込みと異なる結果を出す
- 6. クラシファイアフィットと同じデータを予測すると異なる結果が出る
- 7. rand()とsrand()に問題があります
- 8. screen.widthはFirefoxとChromeで異なる結果を出す
- 9. as.matrix()とas.dist()が異なる結果
- 10. Deeplearning4jとRの結果が異なる
- 11. printとreturnの結果が異なる
- 12. データごとに異なるResultSetの結果を抽出する
- 13. ResNet50 kerasからは予測と出力で異なる結果が出る
- 14. SELECTと異なる結果とビュー内
- 15. クラスC#でタスクと異なる結果
- 16. SACSegmentation LinuxとWindowsで異なる結果
- 17. DISTINCTとGROUP BYで異なる結果
- 18. PyOpenCL - IntelとNVidiaで異なる結果
- 19. ChromeとFirefoxで異なるCSS結果
- 20. pytesseractの結果がtesseractコマンドラインの結果と異なる
- 21. Python(PyCharm)コンソールの結果がPython IDLEと異なる結果
- 22. SSRSの結果が同じクエリのSSMS結果と異なる
- 23. sklearn standardscaler結果がマニュアル結果と異なる
- 24. AVCapturePhoto出力結果の色がプレビューレイヤーと異なる
- 25. なぜCPUとGPUで結果が異なるのですか?
- 26. Qt Creatorでrand()がsrand()に従っていない
- 27. ASPでVBScriptと異なる結果が発生する
- 28. srand()をシードする最良の方法は何ですか?
- 29. ステップデバッグと実行プログラムとの間で結果が異なる
- 30. モジュロとオーバーフローがintで異なる結果を返します
詳細は必要とされています。おそらく 'srand'をリセットし、後で別の結果を示すコードです。いずれの場合でも、**グローバル** RNGを使用する関数は、取得するシーケンスを変更します。したがって、乱数の気付かれない使用を探します。 –
関連コードを表示してください – Wndrr