matlab - 随机选择一个二进制矩阵 - Matlab

标签 matlab random matrix binary

我正在处理较大的二进制矩阵,目前最大为 100x100。

假设我正在使用 30x30 二进制矩阵。那么一共有2^(30x30)个二元矩阵。我想随机选择一个二进制矩阵,其中每个 2^(30x30) 矩阵都有相同的被选中概率。

我的解决方案尝试是使用函数 randi(n) 和 n = 2^(30x30) 选择 1 到 2^(30x30) 之间的数字,然后将结果转换为适当的二进制矩阵。我遇到的问题是 randi(n) 不接受大于 2^54 的 n 值。一般来说,Matlab 似乎不喜欢非常大的数字。

有什么建议吗?

最佳答案

如果每个 bool 矩阵都有相等的概率,那么矩阵的每个元素都有相等的概率为 0 和 1。您可以用 n² 均匀随机 bool 值填充适当大小的矩阵.

我手边没有 MATLAB,但在 Octave 中你会做类似 unidrnd(2, n, n) - 1 的事情。

关于matlab - 随机选择一个二进制矩阵 - Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152787/

相关文章:

c# - 如何从随机池中选择一个号码,然后让号码不能重新选择

c++ - D3DX 在错误的坐标中相交光线?

java - 如何在这个问题中正确地乘以 2 个矩阵?

matlab - 自动最大化图形

android - 如何在android中制作随机帧动画?

matlab - 将 dos 命令输出显示为静态文本

php poker 生成的随机结果与预期不符

CSS3 二维变换模块 : multiple functions: order of function application in noncommutative case

matlab - 在向量中查找向量

matlab - 如何在Matlab中将字符串元胞数组转换为int和NaN?