我想使用MATLAB生成隨機二進制矩陣A
(n×m個)滿足條件:如何生成一個隨機二進制矩陣,其中每行只有一位有值1?
每一行包含具有值1
一個位置。其他職位是值0
。具有1
值的位置是隨機位置。
我想這個代碼
n=5;m=10;
%% A = randi([0 1], n,m);
A=zeros(n,m);
for i=1:n
rand_pos=randperm(m);
pos_one=rand_pos(1); % random possition of 1 value
A(i,pos_one)=1;
end
它是正確的嗎?
*它是否正確?*那麼,你是否嘗試過運行它? –
我運行它,它給了我一個隨機二進制矩陣作爲上述條件。我不確定我的代碼是否正確 – KimHee
我運行它,它滿足了每個**行**包含一個值爲1的位置的條件。 – Rotem