計數1點的數量我有一個像下面的代碼:如何從整體矩陣
N=10;
R=[1 1 1 1 1 0 0 0 0 0;1 1 1 1 1 1 1 1 1 1];
p=[0.1,0.2,0.01];
B = zeros(N , N);
B(1:N,1:N) = eye(N);
C=[B;R];
for q=p(1:length(p))
Rp=C;
for i=1:N
if(rand < p)
Rp(i,:) = 0;
end
end
end
從這個代碼我改變的p
值。所以對於不同的價值p
,我得到了不同的Rp
。現在我想從每個Rp
矩陣中獲得「1」的總數。這意味着可能是對於P1我得到Rp1 = 5,對於P2,Rp = 4。
例如
Rp1=[1 0 0 0 0;0 1 0 0 0;0 0 0 0 0],
Rp2=[1 0 0 0 0;0 1 0 0 0;1 0 0 0 0],
Rp3=[0 0 0 0 0;0 1 0 0 0;0 0 0 0 0],
因此總的結果將是2,3,1。
我想得到這個結果。
想過'sum(Rp)'?因爲你只有1個,這將是最簡單的方法... – thewaywewalk
'總和(Rp(:))'將工作,因爲Rp是二進制的。'(:)'通過首先對矩陣進行線性化來使得它總和所有的維數 – Dan
是的,我知道但是我需要將所有的1加在一起求和。例如,Rp = [1 0 0 0 0; 0 1 0 0 0; 0 0 0 0 0]然後我的Rp = 2。我不能做到這一點。我需要得到所有值的Rp值。 –