| [section:rayleigh Rayleigh Distribution] |
| |
| |
| ``#include <boost/math/distributions/rayleigh.hpp>`` |
| |
| namespace boost{ namespace math{ |
| |
| template <class RealType = double, |
| class ``__Policy`` = ``__policy_class`` > |
| class rayleigh_distribution; |
| |
| typedef rayleigh_distribution<> rayleigh; |
| |
| template <class RealType, class ``__Policy``> |
| class rayleigh_distribution |
| { |
| public: |
| typedef RealType value_type; |
| typedef Policy policy_type; |
| // Construct: |
| rayleigh_distribution(RealType sigma = 1) |
| // Accessors: |
| RealType sigma()const; |
| }; |
| |
| }} // namespaces |
| |
| The [@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution] |
| is a continuous distribution with the |
| [@http://en.wikipedia.org/wiki/Probability_density_function probability density function]: |
| |
| f(x; sigma) = x * exp(-x[super 2]/2 [sigma][super 2]) / [sigma][super 2] |
| |
| For sigma parameter [sigma][space] > 0, and x > 0. |
| |
| The Rayleigh distribution is often used where two orthogonal components |
| have an absolute value, |
| for example, wind velocity and direction may be combined to yield a wind speed, |
| or real and imaginary components may have absolute values that are Rayleigh distributed. |
| |
| The following graph illustrates how the Probability density Function(pdf) varies with the shape parameter [sigma]: |
| |
| [graph rayleigh_pdf] |
| |
| and the Cumulative Distribution Function (cdf) |
| |
| [graph rayleigh_cdf] |
| |
| [h4 Related distributions] |
| |
| The absolute value of two independent normal distributions X and Y, [radic] (X[super 2] + Y[super 2]) |
| is a Rayleigh distribution. |
| |
| The [@http://en.wikipedia.org/wiki/Chi_distribution Chi], |
| [@http://en.wikipedia.org/wiki/Rice_distribution Rice] |
| and [@http://en.wikipedia.org/wiki/Weibull_distribution Weibull] distributions are generalizations of the |
| [@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution]. |
| |
| [h4 Member Functions] |
| |
| rayleigh_distribution(RealType sigma = 1); |
| |
| Constructs a [@http://en.wikipedia.org/wiki/Rayleigh_distribution |
| Rayleigh distribution] with [sigma] /sigma/. |
| |
| Requires that the [sigma] parameter is greater than zero, |
| otherwise calls __domain_error. |
| |
| RealType sigma()const; |
| |
| Returns the /sigma/ parameter of this distribution. |
| |
| [h4 Non-member Accessors] |
| |
| All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all |
| distributions are supported: __usual_accessors. |
| |
| The domain of the random variable is \[0, max_value\]. |
| |
| [h4 Accuracy] |
| |
| The Rayleigh distribution is implemented in terms of the |
| standard library `sqrt` and `exp` and as such should have very low error rates. |
| Some constants such as skewness and kurtosis were calculated using |
| NTL RR type with 150-bit accuracy, about 50 decimal digits. |
| |
| [h4 Implementation] |
| |
| In the following table [sigma][space] is the sigma parameter of the distribution, |
| /x/ is the random variate, /p/ is the probability and /q = 1-p/. |
| |
| [table |
| [[Function][Implementation Notes]] |
| [[pdf][Using the relation: pdf = x * exp(-x[super 2])/2 [sigma][super 2] ]] |
| [[cdf][Using the relation: p = 1 - exp(-x[super 2]/2) [sigma][super 2][space] = -__expm1(-x[super 2]/2) [sigma][super 2]]] |
| [[cdf complement][Using the relation: q = exp(-x[super 2]/ 2) * [sigma][super 2] ]] |
| [[quantile][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(1 - p)) = sqrt(-2 * [sigma] [super 2]) * __log1p(-p))]] |
| [[quantile from the complement][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(q)) ]] |
| [[mean][[sigma] * sqrt([pi]/2) ]] |
| [[variance][[sigma][super 2] * (4 - [pi]/2) ]] |
| [[mode][[sigma] ]] |
| [[skewness][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]] |
| [[kurtosis][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]] |
| [[kurtosis excess][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]] |
| ] |
| |
| [h4 References] |
| * [@http://en.wikipedia.org/wiki/Rayleigh_distribution ] |
| * [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Rayleigh Distribution." From MathWorld--A Wolfram Web Resource.] |
| |
| [endsect][/section:Rayleigh Rayleigh] |
| |
| [/ |
| Copyright 2006 John Maddock and Paul A. Bristow. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |