randpermの乱数発生器は固定?

  トラックバック(0)  リンク元(0)
シェルスクリプトを使って、matlabを呼び出して実験をしてみたところ

ランダムな要素があるにもかかわらず、結果が全く同じになる事態に遭遇した。

randpermを使って、データをランダムに選んでいたのだが、こいつの乱数発生器は固定されているらしい。

なので、「matlab起動→randperm(10)→matlab終了」をくり返しても全く同じ値しか出てこない。

これを回避するために、rand('state',sum(100*clock))をはじめに実行する必要がある。

これは、実行ごとに異なる状態にリセットをするらしい。

実際にやってみると解決した。




|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|