dimos
dimos

Reputation: 147

Random number geneation in c# using normal distr

i am new to c# and i am trying to generate numbers ifrom normal distribution in c#. I serched the web and i found only some code. I would like to use a ready built in function and not a code!! any suggestions?

Upvotes: 0

Views: 2240

Answers (1)

zatbusch
zatbusch

Reputation: 324

You will still need to do a little coding too:

  1. Define your normal distribution.
  2. Sample from it.

N.B You need to define it once and then sample as opposed to re-define.

Maybe this little class can help, then you can just use it in your code where you need...

    public class BoxMullerNormal
        {                       
            private MathNet.Numerics.Distributions.Normal normal;

            public BoxMullerNormal(double mean = 0,double std = .01)
            {
                normal = new MathNet.Numerics.Distributions.Normal(mean,std);            
            }

            public override dynamic getRandom()
            {
                // Implementation Uses C#MathNet.Numerics Normal Distribution Sampling
                return normal.Sample();                          
            }
}

Initialize the class at the start of your app to define the normal, then just call getRandom() every time to sample from it. You can also add the class to once of your existing Interfaces.

Upvotes: 2

Related Questions