日期:2014-05-18  浏览次数:20868 次

如何产生随机矩阵呢,random用法??
产生n行m列的矩阵,元素在(0,1)之间随机取值,下面的代码对吗??
[code=C#][/code]
Random ran = new Random();

  for (int i = 0; i < n; i++)
  {  
  for (int j = 0; j < m; j++)
  {
  solution[i, j] = ran.Next(0,1);//产生随机数
  }
  }
上面的Random ran = new Random();是放在那个位置吗?这样能保证都是随机数吗?



------解决方案--------------------
最好将你的ran声明为static的。你的代码,在多线程调用时,仍然可能会让两个程序得到完全一样的(所谓)随机矩阵。
------解决方案--------------------
Random ran = new Random(Guid.NewId().ToString().GetHashCode());

这样就可以保证种子的随机了。
------解决方案--------------------
写错了
NewGuid => NewId