首页 > 编程知识 正文

java产生随机数指定范围(Java代码韦伯分布_韦伯分布的随机数)

时间:2023-05-03 05:40:36 阅读:121751 作者:4923

一.功能

产生韦伯分布的随机数。

二、方法介绍

韦伯分布的概率密度函数

[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文件请参阅均匀分布的随机数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。