第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲得總和等于M的N個隨機整數(shù)

如何獲得總和等于M的N個隨機整數(shù)

繁華開滿天機 2022-01-20 17:25:32
我想列出 N 個隨機 INTEGER 數(shù),其總和等于 M 數(shù)。我在 Python 中使用了 numpy 和 dirichlet 函數(shù),但這會生成雙隨機數(shù)數(shù)組,我想生成整數(shù)隨機數(shù)。import numpy as np  np.random.dirichlet(np.ones(n))*m解決方案可以使用其他分布,感覺就是解決問題。
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

使用它的問題dirichlet在于它是實數(shù)的分布。它將產(chǎn)生一個范圍內(nèi)的數(shù)字向量(0,1),總和為 1,但截斷或舍入它們可能會消除對特定總和的保證。在這篇文章之后,我們可以從分布中獲得所需的效果multinomial(使用np.random.multinomial),如下所示:


from numpy.random import multinomial


np.random.multinomial(m, np.ones(n)/n)

這將生成和n之間的整數(shù),其和為,繪制給定位置的概率相等??梢暬@一點的最簡單方法是將結(jié)果視為描述從一組固定對象(例如,從 1 到 6 的整數(shù)繪制的骰子)中的一組繪圖,其中最終數(shù)組是相應(yīng)對象的次數(shù)畫??倲?shù)將始終與給定的總平局(擲骰)數(shù)相加。0mm


查看完整回答
反對 回復 2022-01-20
?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

請注意,Dirichlet 分布可用于參數(shù)化多項式,從而控制 bin 的平滑度或“均勻性”,例如:


import numpy as np 


m = 50

n = 5

s = 0.1


np.random.multinomial(m, np.random.dirichlet(np.ones(n) * s))

主要參數(shù)化為@Bonfire,但較大的值s(例如 try s=100)導致 bin 以 mean= 接近 Poisson,m/n較小的值導致更大的方差


查看完整回答
反對 回復 2022-01-20
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

這是一個示例解決方案:


import numpy as np


M = 50 # The fixed sum

N = 5 # The amount of numbers


array = np.random.multinomial(M, np.ones(N) / N)[0]

print(array)


查看完整回答
反對 回復 2022-01-20
  • 3 回答
  • 0 關(guān)注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號