一、功能
产生柯西分布的随机数。
二、方法简介
柯西分布的概率密度函数为
[f(x)=frac{eta }{pi [eta ^{2}+ (x - alpha)^{2}]} qquad eta > 0
]
通常用(C(alpha ,eta ))表示,其分布函数为
[F(x)=frac{1}{2}+frac{1}{pi }arctg(frac{x-alpha}{eta })
]
用逆变换法产生柯西分布(C(alpha ,eta ))的随机变量(x),其具体方法如下:
- 产生均匀分布的随机数(u),即(u sim U(0,1));
- 计算(x=alpha - frac{eta }{tg(pi x)});
三、使用说明
是用C语言实现产生柯西分布随机数的方法如下:
/************************************
a ---柯西分布参数a
b ---柯西分布参数b
s ---随机数种子
************************************/
#include "math.h"
#include "uniform.c"
double cauchy(double a, double b, long int *s)
{
double u;
double x;
u = uniform(0.0, 1.0, s);
x = a - b / tan(3.1415926 * u);
return(x);
}
uniform.c文件参见均匀分布的随机数