このステートメントは、3つの固有の乱数を生成することに成功しますが、2つの固有の乱数しか生成しないことがあります。Juliaで一意の乱数を生成する
rand(1:length(matches), 3)
どのように私はこれを書き換えることができますので、私は3個のユニークな乱数が常に生成されていることを確認。 (私も、などの他の機能を使用する開いています)
おかげ
このステートメントは、3つの固有の乱数を生成することに成功しますが、2つの固有の乱数しか生成しないことがあります。Juliaで一意の乱数を生成する
rand(1:length(matches), 3)
どのように私はこれを書き換えることができますので、私は3個のユニークな乱数が常に生成されていることを確認。 (私も、などの他の機能を使用する開いています)
おかげ
単純な答え:(より十分な説明)合併症の多くは
using StatsBase
MyRand = sample(1:10, 3, replace = false)
があることできたこれに入る。例えば、乱数を描くときはいつも、そこから引き出されるいくつかの分布があります。多くの乱数を描画している場合は、統計のこれに関する通常の説明は、多次元分布から描画することです。分布が離散的である(つまり、特定の数値が選択される可能性が高い)場合、2つの項目が互いに等しくないことを指定すると、実際には異なる分布になります。したがって、あなたが望むものに応じて、このはが比較的迅速に比較的複雑になる可能性があります。例えば。 5つのポアソン確率変数を必要とするが、2つが等しくないという規定がある場合、コード内でこれを達成するのは比較的簡単ですが、これを生成する分布の詳細はより複雑であり、描画する変数はもはやありません標準ポアソン確率変数である。あなたのアプリケーションによっては、これはあなたが覚えておくことが重要であるかもしれません。
しかし、この場合、いくつかの並べ替えのリストから3つのランダムな要素を選択し、選択されているそれぞれに等しい確率を割り当て、要素が2回選択されないようにしているように見えます。この場合、StatsBaseのsample()
関数はreplace = false
オプションを選択してトリックを行います(つまり、置換なしでサンプリングすると、選択された可能な結果のプールから数値を削除します)。
StatsBaseのサンプル関数には、replace
オプションがあります。
ここ
using StatsBase
sample(1:10, 3, replace=false)
FYI理想的に、あなたは(すなわち一致する)問題で定義されていない変数を使用するべきではありません。しかしここでもあまり重要ではありません。 –
答え:http://stackoverflow.com/questions/36047516/julia-generating-unique-random-integer-array/36048024#36048024 – amrods