|
|
@@ -24,6 +24,21 @@ namespace Masuit.Tools.Win32
|
|
|
return new Random(BitConverter.ToInt32(b, 0)).Next(seed);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 产生正态分布的随机数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="rand"></param>
|
|
|
+ /// <param name="mean">均值</param>
|
|
|
+ /// <param name="stdDev">方差</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static double NextGauss(this Random rand, double mean, double stdDev)
|
|
|
+ {
|
|
|
+ double u1 = 1.0 - rand.NextDouble();
|
|
|
+ double u2 = 1.0 - rand.NextDouble();
|
|
|
+ double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) * Math.Sin(2.0 * Math.PI * u2);
|
|
|
+ return mean + stdDev * randStdNormal;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 执行一个控制台程序,并获取在控制台返回的数据
|
|
|
/// </summary>
|