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);
}
}
}