-1
在下面的節目,我想改變的Trial
的價值,並希望運行一萬遍,每次試驗(即迭代)計數N
的出現在D
。如何獲得平均值
N = 10;
B = eye(N);
C = zeros(1,N);
p = [0.1 0.2 0.4];
count = 1;
Trial = 1;
for t = 1:Trial
for q = 1:numel(p)
for ii=1:N
X = B;
X(ii, rand(size(p))<p(q)) = 0;
A = max(bsxfun(@minus, X,C), 0);
[~,idx] = max(A(sum(A,2)==1,:), [], 2);
if ~isempty(idx)
C(idx) = 1;
end
end
D(count,:) = sum(C);
count = count+1;
end
end
我知道怎麼算的N
的出現在D
。問題是,對於Trial = 2
,陣列D
變爲6x1,但我希望它在每次迭代中始終保持3x1。我怎麼做?
請在代碼中修正縮進。 – Dan
@Dan -corrected,請檢查。 –
'D(count,:)= sum(C)'是不正確的,如果你想保持D一定的大小。你繼續增加計數,所以D將繼續增長。 –