在matlab中具有不同范围的整数随机矩阵

时间:2017-03-11 11:24:59

标签: matlab random integer

如何创建随机矩阵(比如说B),其中元素B(i,j)是闭区间0和A(i,j)中的均匀随机整数。 A是给定的矩阵。例如:

A = [6, 2, 5, 7;
     12, 0, 4, 0;
     8, 0, 10, 1;
     11, 6, 2, 5];

1 个答案:

答案 0 :(得分:3)

B = floor(rand(size(A)).*(A+1))

说明

  • rand(size(A))创建一个与A大小相同的矩阵,其中元素均匀分布在0和1之间。
  • rand(size(A)).*(A+1)每个元素(i,j)是0和A之间的随机分布(i,j)+1
  • floor(rand(size(A)).*(A+1))每个单位宽度范围都映射到最接近的较低整数

请注意B = round(rand(size(A)).*A)几乎会做同样的事情,除了0和A(i,j)发生概率较小。