variable_generate.h
来自「随机遍量的产生程序说明: 1 功能:该程序目的是要能够产生包括均匀分布」· C头文件 代码 · 共 54 行
H
54 行
//Variable_Generate.h
//2003.11.7
//define the random variable generate funtions
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define E 0.000001
#define PIX2 6.2831853072
//void unif_distr(UINT ,int ,float*);
//void exp_distr(UINT ,int ,float*);
//void rili_distr(UINT ,int ,float*);
//void normal_distr(UINT ,int ,float*);
void unif_distr(UINT s,const int num,float* pf)
{
srand(s);
for(int i = 0;i < num;i++)
{
pf[i] =(FLOAT) rand()/RAND_MAX;
}
}
void exp_distr(UINT s,const int num,float* pf)
{
unif_distr(s,num,pf);
for(int i = 0; i < num; i++)
{
if(!pf[i]) pf[i] = pf[i] + (float)E;
pf[i] = -logf(pf[i]);
}
}
void rili_distr(UINT s,const int num,float* pf)
{
exp_distr(s,num,pf);
for(int i = 0; i < num; i++)
{
pf[i] = sqrtf(2*pf[i]);
}
}
void normal_distr(UINT s,const int num,float* pf)
{
rili_distr(s,num,pf);
srand(1);
for(int i = 0; i < num; i++)
{
pf[i] = cosf( (float)PIX2 * (float) rand()/RAND_MAX ) * pf[i];
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?