Numpyで、要素数の総和がNとなる制約の下、n次元のランダムベクトルを生成したい。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーNumpyで、要素数の総和がNとなる制約の下、n次元のランダムベクトルを生成したい。413件3Numpyで、n次元のランダムベクトルvを作りたいのですが、ベクトルの要素の総和がNになるようにしたいです。0.3])というような感じです。個のランダムな数を生成した後、正規化すれば良いです。個の銅バッジこんなシンプルに書けるのですね。見てみるといいかもしれません。|4SO英語版に同じ質問がありました。0.04150587]np.ones(n)に係数を掛けると乱数の分布を変えることもできるみたいです。詳しくは英語版をご覧ください。|2他にもやり方がありそうですが、求めたい総和を乱数の範囲として、乱数をその範囲の上限と下限を除いたものの中から、n-2個出して、上限と下限を含むものに加えて小さい数から大きい数へソートした後、numpy.arrayに入っている小さい方から隣り合った項の差を加えていくと求めたい値が出るはずです。以下では下限が0.0、上限が3.0。np.random.uniformは上限の値は出力しないはず。