亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

添加到100的隨機數:matlab

添加到100的隨機數:matlab

添加到100的隨機數:matlab快速提問,謝謝你提前幫忙-如果我用; 100*rand(9,1)將這9個數字加到100的最佳方法是什么?我想要在0到100之間的9個隨機數,加起來等于100。是否有一個內置的命令可以這樣做,因為我似乎找不到它。
查看完整描述

3 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

一種簡單的方法是在0到100之間選擇8個隨機數。將0和100添加到列表中,給出10個數字。把它們分類。然后輸出每一對連續數字之間的差異。例如,下面是0到100之間的8個隨機數:

96, 38, 95, 5, 13, 57, 13, 20

因此,添加0和100并排序。

0, 5, 13, 13, 20, 38, 57, 95, 96, 100

現在減去:

5-0 = 5
13-5 = 8
13-13 = 0
20-13 = 7
38-20 = 18
57-38 = 19
95-57 = 38
96-95 = 1
100-96 = 4

這里有九個數字,等于100:0,1,4,5,7,8,18,19,38。我得到一個零和一個只是一個奇怪的運氣。


查看完整回答
反對 回復 2019-07-01
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

現在給出正確的答案還為時不晚。

讓我們討論在[0.1]范圍內取樣X1.XN,使和(X1,.,XN)等于1。

這叫做Dirichlet分布下面是從中獲取的代碼。最簡單的情況是,當所有參數等于1時,X1,…,XN的所有邊際分布都是U(0,1)。一般情況下,當參數與1s不同時,邊際分布可能會出現峰值。

這里 ---------------------

Dirichlet是單位尺度γ隨機變量的向量,由它們的和歸一化.因此,如果沒有錯誤檢查,這將使您了解:

a = [1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0]; // 9 numbers to samplen = 10000;r = drchrnd(a,n)function r = drchrnd(a,n)
  p = length(a);
  r = gamrnd(repmat(a,n,1),1,n,p);
  r = r ./ repmat(sum(r,2),1,p);


查看完整回答
反對 回復 2019-07-01
  • 3 回答
  • 0 關注
  • 941 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號