一.功能
产生韦伯分布的随机数。
二、方法介绍
韦伯分布的概率密度函数
[f(x )=(left ({begin {矩阵} )
frac {alpha } {beta ^ {alpha } } x ^ {alpha-1 } e ^ {-((frac { x } {beta } } ^ {alpha } x
0 x 0
end{matrix}right。
() ) ) )。
通常为(w ) alpha、(beta ) ) ),其分布函数为
[f(x )=(left ({begin {矩阵} )
1-e^{-; frac { x } {beta } } ^ {alpha } } xgeq slant 0,a 0,beta 0\
0 x 0
end{matrix}right。
() ) ) )。
韦伯分布的平均值为((frac (beta ) alpha ) gamma ) left (frac )1) ) alpha (right ) ) ) ) ) 65 )
使用逆变换法生成韦伯分布的随机变量(x ) )的算法如下。
均匀分布随机数(u ),即) (u ) simu (0,1 ) );
计算(x=(贝塔(-ln ) u ) ) ^{1/(阿尔法) );
三.使用说明
用c语言实现生成韦伯分布随机数的方法如下:
/*************************
a ---韦伯分布参数apha
b ---韦伯分布参数贝塔
s ---随机数种子
* * * * * * * * * * * * * * *
#include 'math.h '
#include 'uniform.c '
双精度Weibull (双精度、双精度b、长整型* s ) )。
{
双精度u;
双x;
u=统一(0.0、1.0、s );
u=-log(u;
x=b*pow(u,1.0/a );
返回(x;
}
统一. c文件请参阅均匀分布的随机数