1
我想生成一個有一些錯誤的矩陣,但它應該是不同的每一個trail.But在我的情況下,我得到完全相同的矩陣與每個trail.My代碼是錯誤的 -使用錯誤生成隨機矩陣
N=50;
R=50;
TrialNum=100;
Error,Pe=0.05;
A(1:N,1:N) = eye(N);
seed=6;
rng(seed,'twister');
B = round((rand(R,N)));
C=[A;B];
for t=1 : TrialNum
Rp = C ;
for i=1:(N+R)
if(rand < Pe)
Rp(i,:) = 0;
end
end
end
從這段代碼中,我每次得到A作爲對角矩陣,而B將使用帶有種子的隨機數生成矩陣。 C是總共100×50矩陣。該矩陣將進入下一個循環,並且由於Pe,每個軌跡不同數目的分組將丟失。
C矩陣將是相同的所有軌跡,但每個審判Rp矩陣將是不同的,但我在每個軌跡上獲得完全相同的Rp矩陣。
對於示例 -
trial=1, N=3, R=2
Rp=1 0 0
0 1 0
0 0 0
1 0 1
0 1 1
trial=2, N=3, R=2
Rp=1 0 0
0 0 0
0 0 1
1 0 1
0 0 0
需要一些專家comment.Any幫助將不勝感激。
paisanco感謝您的答案,但我想用種子來控制我的隨機數。我不想爲第二個循環控制rand,而是我希望B矩陣始終保持不變,但Rp會不同。 –
在這種情況下,您應該可以像以前一樣使用種子進行調用,同時生成B矩陣,然後在運行之後讓您的Rp不同之後再調用rng('shuffle')。 – paisanco
非常感謝你paisanco .. –