• 韦伯分布的随机数


    一、功能

    产生韦伯分布的随机数。

    二、方法简介

    韦伯分布的概率密度函数为

    [f(x)=left{egin{matrix} frac{alpha }{eta^{alpha } }x^{alpha -1}e^{-(frac{x}{eta })^{alpha }} & xgeqslant 0,a> 0,eta > 0\ 0 & x< 0 end{matrix} ight. ]

    通常用(W(alpha ,eta ))表示,其分布函数为

    [F(x)=left{egin{matrix} 1 - e^{-(frac{x}{eta })^{alpha }} & xgeqslant 0,a> 0,eta > 0\ 0 & x< 0 end{matrix} ight. ]

    韦伯分布的均值为(frac{eta }{alpha }Gamma left ( frac{1}{alpha } ight ))

    用逆变换法,我们产生韦伯分布随机变量(x)的算法如下:

    1. 产生均匀分布的随机数(u),即(u sim U(0,1))
    2. 计算(x=eta (-ln(u))^{1/alpha })

    三、使用说明

    是用C语言实现产生韦伯分布随机数的方法如下:

    /************************************
    	a       ---韦伯分布参数apha
    	b    	---韦伯分布参数beta
    	s       ---随机数种子
    ************************************/
    #include "math.h"
    #include "uniform.c"
    
    double weibull(double a, double b, long int *s)
    {
    	double u;
    	double x;
    	u = uniform(0.0, 1.0, s);
    	u = -log(u);
    	x = b * pow(u, 1.0 / a);
    	return(x);
    }
    

    uniform.c文件参见均匀分布的随机数

  • 相关阅读:
    上学路线 (Standard IO)
    舞台设置 (Standard IO)
    Circle (Standard IO)
    Number (Standard IO)
    Gift (Standard IO)
    圆周舞蹈 (Standard IO)
    竞赛排名 (Standard IO)
    奶牛排队 (Standard IO)
    奶牛晒衣服 (Standard IO)
    神奇的风 (Standard IO)
  • 原文地址:https://www.cnblogs.com/liam-ji/p/11677483.html
Copyright © 2020-2023  润新知