【发布时间】:2014-09-06 09:36:52
【问题描述】:
当 1 的个数为 a% 且 0 的个数为 (100-a)% 时,如何创建具有数字 0 和 1 的随机高斯分布的 Matlab 矩阵 (m x n)?
例如在一维中是“00000010001001011010111011101111111111111110110101001010010001000000”,但我想要二维矩阵,这样矩阵的中心有很多“1”,矩阵的边界有很多“0”(将 1 更改为 0,从中心到边界的高斯分布)。
高斯矩阵的定义见here
【问题讨论】:
-
如果矩阵只包含 0 和 1,矩阵如何是高斯分布?这没有任何意义。你想要一个高斯矩阵,还是想要一个由 0 和 1 组成的矩阵,根据上面列出的百分比填充?它只能是其中之一。
-
我想对于足够大的矩阵,矩阵中“圆圈”内的 1 的密度可以近似为高斯分布。但除此之外,总体密度几乎不会满足 (
a,1-a) 类型约束。 -
为什么不直接定义所有
1的圆,总面积为a%,其余元素为0,总面积为(100-a)% ?你刚才定义的不是高斯分布。 -
@rayryeng ,你假设平均 a 和方差 b
-
您定义为问题描述的内容根本不是高斯的,因此不需要均值或方差。给定一个大小为 m x n 的矩阵,并给定面积为 a%,首先确定您需要的半径,然后在 m x n 矩阵的中心生成一个全为 1 的圆。您设置为 0 的其余元素。
标签: matlab random matrix gaussian