生成满足正态分布的随机数

很多时候 需要生成满足正态分布的随机数

看了好多方法之后 决定用 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;                                                
        }
    }
}
posted @ 2011-02-17 22:37  Zeicold  阅读(1674)  评论(1)    收藏  举报