随机matlab矩阵,每列至少0.4,最多0.6个

时间:2016-10-22 21:47:15

标签: matlab random

我在大小为n的matlab中创建一个只包含1和0的矩阵。最简单的方法是对大小为mxn的矩阵进行舍入(rand(m,n)),但在某些情况下,它会创建全部为零或全部为零的行。我想在每行的数量上加上下限和上限。有没有一种简单的方法可以做到这一点?

由于

1 个答案:

答案 0 :(得分:3)

这仅适用于一列,但可以轻松扩展到矩阵:

v = zeros(m,1); % column

在列的开头填充至少40%和最多60%的列:

v(1: floor((0.4+(0.6-0.4)*rand())*(m+1))) = 1;

洗牌:

v = v(randperm(numel(v)));