matlab - 在 Matlab 中生成加权随机 boolean 矩阵

标签 matlab random matrix boolean weighted

我想在 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/

相关文章:

matlab - 以编程方式获取有效的开关/案例值

algorithm - 在行和列中具有两个不相邻的非零值的等概率随机平方二进制矩阵的算法

java - 如何在每次运行我的应用程序时生成一个唯一的随机数?

python - 循环填充Python中的矩阵

C:打印数组中某个点的水平、垂直和倾斜值

python - 将函数应用于 NumPy 矩阵中的所有元素

matlab - 基于非连续轮廓创建包含填充椭圆的矩阵

matlab - 调试时如何使用曲线拟合工具?

c++ - 从 matlab 生成 C++ 代码

c# - 为什么完全使用 C# 类 System.Random 而不是 System.Security.Cryptography.RandomNumberGenerator?