很多时候 需要生成满足正态分布的随机数
看了好多方法之后 决定用 Marsaglia Bray 的算法来实现
因为内个论文对于不是数学专业的我来说写得比较清楚。。
Zcold.dll是编译好的直接用就好 | Zcold namespace.chm是代码的文档 |
下边是使用的例子
using System;
using System.Collections.Generic;
using System.Linq;
using Zcold.ZcoldMath;
namespace Example
{
class ExampleProgram
{
static void Main(string[] args)
{
List<int> RandomIntegerNumbers = new List<int>();
List<double> RandomFloatingPointNumbers = new List<double>();
// normal distribution: expected value = 0, standard variation = 1.
uncertain_value Rnd = new uncertain_value(0, 1);
// All generated numbers are in normal distribution
// Generate 10 random integer numbers
RandomIntegerNumbers = Rnd.GetIntList(10);
// Generate 10 random double precision floating point numbers
RandomFloatingPointNumbers = Rnd.GetDoubleList(10);
// Generate one integer number
int New = Rnd.IntValue;
// Generate one integer number
int Another = Rnd.IntValue;
// Generate one double precision floating point number
double A = Rnd.DoubleValue;
// Generate one double precision floating point number
double B = Rnd.DoubleValue;
}
}
}