首页 > 其他 > 详细

对数正态分布的随机数

时间:2019-10-15 14:52:58      阅读:125      评论:0      收藏:0      [点我收藏+]

一、功能

产生对数正态分布的随机数。

二、方法简介

对数正态分布的概率密度函数为
\[ f(x)=\left\{\begin{matrix} \frac{1}{x\sqrt{2\pi }\sigma }exp\left ( - \frac{(lnx-\mu )^{2}}{2\sigma ^{2}} \right ) & x> 0\\ 0 & x \leqslant 0 \end{matrix}\right. \]
对数正态分布的均值为\(e^{\mu + \sigma ^{2} / 2}\),方差为\((e^{\sigma ^{2}}-1)e^{2\mu + \sigma ^{2}}\)

首先产生正态分布的随机变量\(y\),然后通过变换\(x=e^{y}\),产生对数正态分布的随机变量\(x\),具体方法如下:

  1. 产生正态分布的随机数\(y\),即\(u \sim N(\mu , \sigma )\)
  2. 计算\(x=e^{y}\)

三、使用说明

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

/************************************
    u       ---对数正态分布的参数mu
    sigma   ---对数正态分布的参数sigma
    s       ---随机数种子
************************************/
#include "math.h"
#include "gauss.c"

double lognorm(double u, double sigma, long int *s)
{
    double x;
    double y;

    y = gauss(u, sigma, s);
    x = exp(y);
    return(x);
}

gauss.c文件参见正态分布的随机数

对数正态分布的随机数

原文:https://www.cnblogs.com/liam-ji/p/11674212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!