我想在 MatLab 中生成一个仅由 1 和 0 组成的 5x5 矩阵,但是我希望能够设置任何值为 1 的可能性。我希望有任何元素有 90% 的机会是 1 而不是 0。
但是我不希望总是有 90% 的 1 和 10% 的 0。我只是希望这种情况更有可能发生。例如。我仍然希望它有可能全部为 0,或者 50% 1 和 50% 0,只是可能性很小。
感谢您的帮助。
最佳答案
我写了一个非常清晰和简单的代码来理解:
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
捕获机遇!
关于matlab - 在 Matlab 中生成加权随机 boolean 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18370382/