NextDouble的随机数(C#)

时间:2016-03-28 21:54:26

标签: c# random perceptron

我正在编程感知器,并且确实需要从正常的NextDouble(0,1)到(-0.5,0.5)获得范围。问题是,我正在使用数组,我不确定它是否可行。希望这是足够的信息。

loop.exec();

2 个答案:

答案 0 :(得分:2)

只需从随机数中减去0.5:

double[] weights = {
                     rdm.NextDouble() - 0.5, 
                     rdm.NextDouble() - 0.5, 
                     rdm.NextDouble() - 0.5 
                   };

答案 1 :(得分:1)

如果你只需要一个十进制值(我在维基百科中看到的猜测)并包含两个限制,我就不会使用双精度值而只是一个十进制值,然后进行数学运算:< / p>

(rdm.Next(11) - 5) / 10M;

这将返回从-0.5到0.5的11个不同可能值中的任何一个。

或者你可以采用双向方式进行舍入,因此实际上可以达到上限(0.5):

Math.Round(rdm.NextDouble() - 0.5, 1);

这种方式可能比我的第一个建议慢一点。