在Matlab中生成加权随机布尔矩阵

时间:2013-08-22 01:46:28

标签: matlab random matrix boolean weighted

我想在MatLab中生成一个仅由1和0组成的 5x5 矩阵,但我希望能够设置任何值为1的可能性。我希望有任何元素的概率为90%,而不是0。

但是我不希望总是90%1s和10%0s。我只是希望这是更可能的情况。例如。我仍然希望它可能是全0,或50%1和50%0,只是非常不可能。

感谢您的帮助。

1 个答案:

答案 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

只是勾起了这些东西!