- 締切済み
ランダムな数を書き換える方法
配列0~1000の中にそれぞれ -1~+1の範囲で等分布でランダムな数値が入っているとします。 この配列のそれぞれの数値を同じく-1~+1の範囲で等分布のままで 別のランダム数値に書き換えるプログラムを作りたいのですが どのようにすれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ShowMeHow
- ベストアンサー率28% (1424/5027)
回答No.2
vb(a) でしたら、 randomize(now()) for i = 0 to 1000 A(i) =2*rnd()-1 next i http://msdn.microsoft.com/ja-jp/library/cc410290.aspx 「等分布のまま」=-1~+1の間のランダム値で書き換える と理解しましたが、そういうことでしょうか?
- neKo_deux
- ベストアンサー率44% (5541/12319)
回答No.1
数値を書き換えせずに、ランダムに並べ替え、シャッフルすれば、分布は変わらないのでは。 > 別のランダム数値に書き換えるプログラムを作りたいのですが ランダム数値の分布になっちゃいます。 一般的な一様分布の乱数使えば、全体の分布が一様分布に近づくとか。 事前に分布?を調べて、その分布に沿ったランダムな数値を作成ってのは、かなり面倒かも。