2016-10-22 55 views
0

我創建了一個大小爲n,只包含1和零的matlab中的矩陣。對於大小爲mxn的矩陣,最簡單的方法是round(rand(m,n)),但它在某些情況下會創建全零或全1的行。我想在每行的數量上設置一個下限和上限。有沒有簡單的方法來做到這一點?隨機矩陣的矩陣,每列至少有.4和至多.6每列

由於

回答

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))); 
+0

我跑了它,它總是創建5個。 –

+0

但是,謝謝你的建議。 –

+0

@JosuéOrtega你使用了多少'm'? – flawr