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 .. –