瑞利分布的隨機數


一、功能

產生瑞利分布的隨機數。

二、方法簡介

瑞利分布的概率密度函數為

\[f(x) = \frac{x}{\sigma ^{2} }e^{-x^{2}/2\sigma ^{2}} \ x > 0 \]

瑞利分布的均值為\(\sigma \sqrt{\frac{\pi }{2}}\),方差為\(\left ( 2 - \frac{\pi }{2} \right )\sigma ^{2}\)

首先用逆變換法產生參數\(\beta = 2\)的指數分布的隨機變量\(y\),其概率密度函數為\(f(y) = \frac{1}{2} e^{-\frac{y}{2}}\);然后通過變換\(x = \sigma \sqrt{y}\),產生瑞利分布的隨機變量\(x\),具體方法如下:

  1. 產生均勻分布的隨機數\(u\),即\(u \sim U(0,1)\)
  2. 計算\(y = - 2 \ ln(u)\)
  3. 計算\(x = \sigma \sqrt{y}\)

三、使用說明

是用C語言實現產生瑞利分布隨機數的方法如下:

/************************************
	sigma	---瑞利分布的參數sigma
	seed	---隨機數種子
************************************/
#include "math.h"
#include "uniform.c"

double rayleigh(double sigma, long int *s)
{
	u = uniform(0.0, 1.0, s);
	x = -2.0 * log(u);
	x = sigma * sqrt(x);
	return(x);
}

uniform.c文件參見均勻分布的隨機數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM