📄 normal.qbk
字号:
[section:normal_dist Normal (Gaussian) Distribution]``#include <boost/math/distributions/normal.hpp>`` namespace boost{ namespace math{ template <class RealType = double, class ``__Policy`` = ``__policy_class`` > class normal_distribution; typedef normal_distribution<> normal; template <class RealType, class ``__Policy``> class normal_distribution { public: typedef RealType value_type; typedef Policy policy_type; // Construct: normal_distribution(RealType mean = 0, RealType sd = 1); // Accessors: RealType mean()const; // location. RealType standard_deviation()const; // scale. // Synonyms, provided to allow generic use of find_location and find_scale. RealType location()const; RealType scale()const; }; }} // namespaces The normal distribution is probably the most well known statistical distribution: it is also known as the Gaussian Distribution.A normal distribution with mean zero and standard deviation oneis known as the ['Standard Normal Distribution].Given mean [mu][space] and standard deviation [sigma][space] it has the PDF:[equation normal_ref1]The variation the PDF with its parameters is illustratedin the following graph:[graph normal_pdf][h4 Member Functions] normal_distribution(RealType mean = 0, RealType sd = 1); Constructs a normal distribution with mean /mean/ and standard deviation /sd/.Requires sd > 0, otherwise __domain_error is called. RealType mean()const; RealType location()const; both return the /mean/ of this distribution. RealType standard_deviation()const; RealType scale()const; both return the /standard deviation/ of this distribution.(Redundant location and scale function are provided to match other similar distributions,allowing the functions find_location and find_scale to be used generically).[h4 Non-member Accessors]All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to alldistributions are supported: __usual_accessors.The domain of the random variable is \[-[max_value], +[min_value]\].However, the pdf of +[infin] and -[infin] = 0 is also supported,and cdf at -[infin] = 0, cdf at +[infin] = 1,and complement cdf -[infin] = 1 and +[infin] = 0,if RealType permits.[h4 Accuracy]The normal distribution is implemented in terms of the [link math_toolkit.special.sf_erf.error_function error function], and as such should have very low error rates.[h4 Implementation]In the following table /m/ is the mean of the distribution,and /s/ is its standard deviation.[table[[Function][Implementation Notes]][[pdf][Using the relation: pdf = e[super -(x-m)[super 2]\/(2s[super 2])] \/ (s * sqrt(2*pi)) ]][[cdf][Using the relation: p = 0.5 * __erfc(-(x-m)/(s*sqrt(2))) ]][[cdf complement][Using the relation: q = 0.5 * __erfc((x-m)/(s*sqrt(2))) ]][[quantile][Using the relation: x = m - s * sqrt(2) * __erfc_inv(2*p)]][[quantile from the complement][Using the relation: x = m + s * sqrt(2) * __erfc_inv(2*p)]][[mean and standard deviation][The same as `dist.mean()` and `dist.standard_deviation()`]][[mode][The same as the mean.]][[skewness][0]][[kurtosis][3]][[kurtosis excess][0]]][endsect][/section:normal_dist Normal][/ normal.qbk Copyright 2006, 2007 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).]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -