Statsar Statistics Library

v1.0.1 for .NET

Product Guide



More Information...

Valid XHTML


Distribution Functions Example (C#)

[C#]
/* COPYRIGHT(C), SIMPLEXAR SOFTWARE LIMITED, 2006-2008.
 * All rights reserved.
 *
 * Use of this copyright notice is precautionary only, and does not imply
 * publication or disclosure. The content of this work contains confidential
 * and proprietary information of Simplexar Software Limited. Any duplication,
 * modification, distribution, or disclosure in any form, in whole, or in part,
 * is strictly prohibited without express prior written permission.
 */

// Get namespaces.
using System;
using Simplexar.Statsar;
using Simplexar.Statsar.Distributions;

// Start namespace.
namespace Simplexar.Examples.Statsar
{
    /// <summary>
    /// This example demonstrates how to create a probability distribution and
    /// calculate distribution functions (i.e. the PDF, CDF and inverse CDF),
    /// as well as moments (e.g. skew and kurtosis).
    /// </summary>
    public static class Example
    {
        /// <summary>
        /// The application entry point.
        /// </summary>
        public static void Main()
        {
            try
            {
                RunExample();
            }
            catch(Exception exception)
            {
                Console.WriteLine(exception);
            }
            Console.WriteLine("Press ENTER to terminate.");
            Console.ReadLine();
        }

        private static void RunExample()
        {
            // Create a normal distribution instance. The normal distribution
            // is a continuous probability distribution defined in terms
            // of the distribution's mean and standard deviation.
            // Many other probability distributions are available as part
            // of the Simplexar.Statsar.Distributions namespace.
            double mean = 3;
            double standardDeviation = 2.5;
            NormalDistribution distribution
                = new NormalDistribution(mean, standardDeviation);

            // Evaluate the probability density function.
            Console.WriteLine(
                "PDF(3.2) = {0}", distribution.PDF(3.2));

            // Evalute the cumulative distribution function.
            Console.WriteLine(
                "CDF(4.5) = {0}", distribution.CDF(4.5));

            // Evaluate the inverse cumulative distribution function.
            Console.WriteLine(
                "InverseCDF(0.35) = {0}", distribution.InverseCDF(0.35));

            // Evaluate distribution moments.
            Console.WriteLine(
                "Mean: {0}", distribution.Mean);

            Console.WriteLine(
                "Standard deviation: {0}", distribution.StandardDeviation);

            Console.WriteLine(
                "Variance: {0}", distribution.Variance);

            Console.WriteLine(
                "Skew: {0}", distribution.Skew);

            Console.WriteLine(
                "Kurtosis: {0}", distribution.Kurtosis);
        }
    }
}