2

x0、y0座標の周りに分布する2Dサーフェス上にランダムなポイントを生成したいと思います。

生成する必要があるものが「標準多変量正規ランダムベクトル」と呼ばれることは理解していますが、たとえばBoost::randomライブラリを使用してC++で生成する方法がわかりません。

これを生成するためのボックスミュラー変換と呼ばれるアルゴリズムがあることは知っていますが、これはすでにBoostで適切に実装されているに違いないと思います。

Boost :: randomを使用して、多変量正規分布を生成する簡単な方法はありますか?

4

1 に答える 1

3

次のようです

// deterministic Box-Muller method, uses trigonometric functions
template<class RealType = double>
class normal_distribution
{

しかし、Box-Muller は 2D ではありません。2D バージョンを取得するために実際にしなければならないことは、生成された 2 つの乱数を取り、それらをx0, y0座標に追加することだけです。

于 2011-07-12T16:39:36.510 に答える