.Net 包“MathNet.Numerics.Distributions”包含一个方法Normal(double mean, double stddev, Random randomSource)
。
前两个参数double
很容易设置。但是第三个参数Random randdomSource
会造成麻烦。
有人知道设置并使用它Normal(double mean, double stddev, Random randomSource)
吗?
.Net 包“MathNet.Numerics.Distributions”包含一个方法Normal(double mean, double stddev, Random randomSource)
。
前两个参数double
很容易设置。但是第三个参数Random randdomSource
会造成麻烦。
有人知道设置并使用它Normal(double mean, double stddev, Random randomSource)
吗?
尝试这个:
var randomSource = new Random();
不过,最好的做法是在任何应用程序中只创建一个实例Random
- 这是为了避免创建Random
共享相同随机种子的多个实例的可能性。
所以你最好做这样的事情:
public static class Global
{
[ThreadStatic] public static readonly Random Random = new Random();
}
然后你会这样调用你的方法:
Normal(0.0, 1.0, Global.Random);
正如其他人已经回答的那样,使用没有第三个参数的构造函数,即Normal(double mean, double stddev)
。
在处理随机源和分布时,我们建议遵循以下规则:
也可以看看: