⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 variable_generate.h

📁 随机遍量的产生程序说明: 1 功能:该程序目的是要能够产生包括均匀分布
💻 H
字号:
//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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -