/// <summary> /// This function return the value of this ChiSquareFunction for given x /// </summary> /// <param name="x">double. x</param> /// <returns> /// the value of this ChiSquareFunction for given x /// </returns> public override double Value(double x) { double result; GammaFunction function = new GammaFunction(); result = 1.0 / (Math.Pow(2.0, 0.5 * this.k) * function.Value(0.5 * this.k)); result *= Math.Exp(-0.5 * x); result *= Math.Pow(x, 0.5 * this.k - 1.0); return(result); }
/// <summary> /// This function return the value of FisherFunction for given x /// </summary> /// <param name="x">double. x</param> /// <returns> /// The value of FisherFunction for given x /// </returns> public override double Value(double x) { double GpG, result; int k1plusk2 = this.k1 + this.k2; GammaFunction function = new GammaFunction(); GpG = function.Value(0.5 * k1plusk2) / (function.Value(0.5 * this.k1) * function.Value(0.5 * this.k2)); result = GpG * Math.Pow(this.k1, 0.5 * this.k1) * Math.Pow(this.k2, 0.5 * this.k2); result *= Math.Pow(x, 0.5 * this.k1 - 1.0) * Math.Pow(this.k2 + this.k1 * x, -0.5 * k1plusk2); return result; }
/// <summary> /// This function return the value of FisherFunction for given x /// </summary> /// <param name="x">double. x</param> /// <returns> /// The value of FisherFunction for given x /// </returns> public override double Value(double x) { double GpG, result; int k1plusk2 = this.k1 + this.k2; GammaFunction function = new GammaFunction(); GpG = function.Value(0.5 * k1plusk2) / (function.Value(0.5 * this.k1) * function.Value(0.5 * this.k2)); result = GpG * Math.Pow(this.k1, 0.5 * this.k1) * Math.Pow(this.k2, 0.5 * this.k2); result *= Math.Pow(x, 0.5 * this.k1 - 1.0) * Math.Pow(this.k2 + this.k1 * x, -0.5 * k1plusk2); return(result); }