正态分布函数实现
2014-03-04 10:33
120 查看
//产生(min,max)之间均匀分布的随机数
double AverageRandom(double min,double max)
{
int MINnteger = (int)(min*10000);
int MAXnteger = (int)(max*10000);
int randInteger = rand()*rand();
int diffInteger = MAXnteger - MINnteger;
int resultInteger = randInteger % diffInteger + MINnteger;
return resultInteger/10000.0;
}
//正态分布概率密度函数
double Normal(double x,double miu,double sigma)
{
return 1.0/(sqrt(2*3.14)*sigma) * exp(-1*(x-miu)*(x-miu)/(2*sigma*sigma));
}
//产生正态分布随机数
double Random_Normal(double miu,double sigma,double min,double max)
{
double x;
double dScope;
double y;
do
{
x = AverageRandom(min,max);
y = Normal(x, miu, sigma);
dScope = AverageRandom(0, Normal(miu,miu,sigma));
}while( dScope > y);
return x;
}
double AverageRandom(double min,double max)
{
int MINnteger = (int)(min*10000);
int MAXnteger = (int)(max*10000);
int randInteger = rand()*rand();
int diffInteger = MAXnteger - MINnteger;
int resultInteger = randInteger % diffInteger + MINnteger;
return resultInteger/10000.0;
}
//正态分布概率密度函数
double Normal(double x,double miu,double sigma)
{
return 1.0/(sqrt(2*3.14)*sigma) * exp(-1*(x-miu)*(x-miu)/(2*sigma*sigma));
}
//产生正态分布随机数
double Random_Normal(double miu,double sigma,double min,double max)
{
double x;
double dScope;
double y;
do
{
x = AverageRandom(min,max);
y = Normal(x, miu, sigma);
dScope = AverageRandom(0, Normal(miu,miu,sigma));
}while( dScope > y);
return x;
}
相关文章推荐
- Linux下IPC机制实现相关函数
- 实实在在说多态(相同函数名 依据上下文 实现却不同)
- JavaScript实现的GBK、UTF8字符串实际长度计算函数
- 习题8-5 使用函数实现字符串部分复制
- 字符串函数---atof()函数详解及实现
- getopt 函数功能的实现
- Socket编程(C语言实现):bind()函数英文翻译
- class中缺省的4个函数的实现
- 交换两个数据的值:宏和函数分别实现
- Javascript insertAfter() 实现函数代码
- SQL Server 排序实现函数细说
- 第二种:自定义类MyThread 实现Runnable接口,主函数创建5个线程,自定义线程类的构造函数输出 创建线程X * run方法内统计每个线程 一共6次
- javascript实现根据函数名称字符串动态执行函数的方法示例
- 递归实现pow内建函数和欧几里德算法
- atol(atoi)函数的实现要点
- 用js实现的一个根据内容自动生成表格的函数
- C/C++ 日常学习总结(第二十篇)实现自己的printf函数
- 用C语言实现字符串反转函数strrev的经典方法
- 实现无头结点单链表的基本操作函数
- memcpy,memmove,strcpy,strcat等系列函数的实现(二)