在MATLAB中创建一个1和0的矩阵,其中1的数量有一个限制

And*_*rew 2 random matlab matrix

例如,如果我有:

A = 5
B = randi([0 1], 5, 5)
Run Code Online (Sandbox Code Playgroud)

我会做一个5x5矩阵的随机一个零和零'

我怎么能限制矩阵所以它只有1的值作为值A,所以在这种情况下5 1?

RTL*_*RTL 7

这里使用所需大小创建零的矩阵B,然后将B的随机位置更改为1

A = 5;
B = zeros(5,5);
B(randperm(numel(B),A)) = 1
Run Code Online (Sandbox Code Playgroud)

产量

B =

     0     1     0     0     0
     0     0     0     0     0
     0     0     0     0     1
     1     0     1     0     1
     0     0     0     0     0
Run Code Online (Sandbox Code Playgroud)