1

matlabでn値に確率をランダムに分散するにはどうすればよいですか? 128個のベクトルがある場合。それらすべての合計が 1 になるように、それらすべてにランダムな確率を割り当てたいと思います。

例 n=4 p1=0.37 p2=0.21 p3=0 p4=0.42

4

2 に答える 2

2

どの程度ランダムである必要があるかに応じて、ロジャー スタッフォードはより厳格なアプローチを採用します。

于 2012-06-12T11:21:48.730 に答える
1

ベクトルをその要素の合計で割るだけです。たとえば、長さ 4 のベクトルの場合、次のことができます。

>> v = rand(4, 1);
>> v = v/sum(v)

v = 
    0.2951
    0.3281
    0.0460
    0.3308

>> sum(v)

ans = 

    1.0000

質問でどのような分布が必要かを述べていないため、均一に分布した数値が必要であると想定していることに注意してください。

于 2012-06-12T11:18:07.247 に答える