2013-08-22 124 views
2

我想在MatLab中生成僅由1和0組成的矩陣,但我希望能夠設置任何值爲1的可能性。我希望在那裏成爲90%的機率任何元素將是1而不是0.在Matlab中生成加權隨機布爾矩陣

但是,我不希望那裏總是有90%1s和10%0s。我只是希望這是更可能的情況。例如。我仍然希望它能夠全部爲0,或50%1%和50%0,只是不太可能。

謝謝你的幫助。

回答

2

我已經寫的很清楚,簡單的代碼來理解:

mat5x5 = rand(5); 
chanse_of_1s=.90% probability for 1s, just change it. 
chanse_of_0s=.10% probability for 0s, just change it. 
mat5x5 = arrayfun(@(x)sum(x >= cumsum([0, chanse_of_0s, chanse_of_1s])), mat5x5)-1 

只恰克的chanses!

+0

非常感謝你:) – Jack

+0

我不知道我做錯了什麼,但如果我只是使用該代碼,所有我得到輸出是mat5x5 = 2? – Jack

+0

@Jack:我已更新帖子,現在試試。 –