std::normal_distribution<RealType>は浮動小数点数型の乱数$x$を以下の確率密度関数に従って分布する。
分布パラメーターのうちの$\mu$と$\sigma$は、それぞれ分布の平均(mean)、標準偏差(standard deviation)とも呼ばれている。
変数の宣言:
std::normal_distribution<RealType> d( mean, stddev ) ;RealTypeは浮動小数点数型でデフォルトはdouble。mean, stddevは浮動小数点数型。meanは平均。stddevは標準偏差で値の範囲は$0 < \text{stddev}$。
使い方:
int main()
{
std::mt19937 e ;
std::normal_distribution d( 0.0, 1.0 ) ;
d.mean() ; // 0.0
d.stddev() ; // 1.0
for ( int i = 0 ; i != 10 ; ++i )
{
std::cout << d(e) << ", "sv ;
}
}std::lognormal_distribution<RealType>は浮動小数点数の乱数$x > 0$を以下の確率密度関数に従って分布する。
変数の宣言:
std::lognormal_distribution<RealType> d( m, s ) ;RealTypeは浮動小数点数型でデフォルトはdouble。m, sはRealType型。値の範囲は$0 < s$。
使い方:
int main()
{
std::mt19937 e ;
std::lognormal_distribution d( 0.0, 1.0 ) ;
d.m() ; // 0.0
d.s() ; // 1.0
for ( int i = 0 ; i != 10 ; ++i )
{
std::cout << d(e) << ", "sv ;
}
}std::chi_squared_distribution<RealType>は浮動小数点数型の乱数$x > 0$を以下の確率密度関数に従って分布する。
変数の宣言:
std::chi_squared_distribution<RealType> d( n ) ;RealTypeは浮動小数点数型でデフォルトはdouble。nはRealType型。値の範囲は$0 < n$。
使い方:
int main()
{
std::mt19937 e ;
std::chi_squared_distribution d( 1.0 ) ;
d.n() ; // 1.0
for ( int i = 0 ; i != 10 ; ++i )
{
std::cout << d(e) << ", "sv ;
}
}std::cauchy_distribution<RealType>は浮動小数点数型の乱数$x$を以下の確率密度関数に従って分布する。
変数の宣言:
std::cauchy_distribution<RealType> d( a, b ) ;RealTypeは浮動小数点数型でデフォルトはdouble。a, bはRealType型。値の範囲は$0 < b$。
使い方:
int main()
{
std::mt19937 e ;
std::chi_squared_distribution d( 0.0, 1.0 ) ;
d.a() ; // 0.0
d.b() ; // 1.0
for ( int i = 0 ; i != 10 ; ++i )
{
std::cout << d(e) << ", "sv ;
}
}フィッシャーの$F$分布(Fisher's
std::fisher_f_distribution<RealType>は浮動小数点数の乱数$x > 0$を以下の関数密度関数に従って分布する。
変数の宣言:
std::fisher_f_distribution<RealType> d( m, n ) ;RealTypeは浮動小数点数型でデフォルトはdobule。m, nはRealType型。値の範囲は$0 < m$ かつ
使い方:
int main()
{
std::fisher_f_distribution d( 1.0 ) ;
d.n() ; // 1.0
std::mt19937 e ;
d(e) ;
}スチューデントの$t$分布(Student's
std::student_t_distribution<RealType>は浮動小数点数型の乱数$x$を以下の確率密度関数に従って分布する。
変数の宣言:
std::student_t_distribution<RealType> d( n ) ;RealTypeは浮動小数点数型でデフォルトはdouble。nはRealType型で、値の範囲は$0 < n$。
使い方:
int main()
{
std::student_t_distribution d( 1.0 ) ;
d.n() ; // 1.0
std::mt19937 e ;
d(e) ;
}