C#,数值计算——指数微分(exponential deviates)的计算方法与源程序

1 文本格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// 指数偏差
    /// Structure for exponential deviates.
    /// </summary>
    public class Expondev : Ran
    {
        private double beta { get; set; }

        /// <summary>
        /// Constructor arguments are beta and a random sequence seed.
        /// </summary>
        /// <param name="bbeta"></param>
        /// <param name="i"></param>
        public Expondev(double bbeta, ulong i) : base(i)
        {
            this.beta = bbeta;
        }

        /// <summary>
        /// Return an exponential deviate.
        /// </summary>
        /// <returns></returns>
        public double dev()
        {
            double u;
            do
            {
                u = doub();
            } while (Math.Abs(u) <= float.Epsilon);// (u == 0.0);        
            return -Math.Log(u) / beta;
        }
    }
}
 

2 代码格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// 指数偏差
    /// Structure for exponential deviates.
    /// </summary>
    public class Expondev : Ran
    {
        private double beta { get; set; }

        /// <summary>
        /// Constructor arguments are beta and a random sequence seed.
        /// </summary>
        /// <param name="bbeta"></param>
        /// <param name="i"></param>
        public Expondev(double bbeta, ulong i) : base(i)
        {
            this.beta = bbeta;
        }

        /// <summary>
        /// Return an exponential deviate.
        /// </summary>
        /// <returns></returns>
        public double dev()
        {
            double u;
            do
            {
                u = doub();
            } while (Math.Abs(u) <= float.Epsilon);// (u == 0.0);        
            return -Math.Log(u) / beta;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/beijinghorn/article/details/132747406