用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数用于仿真卫星移动通信
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 07:50:24
用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数用于仿真卫星移动通信
用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数
用于仿真卫星移动通信
用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数用于仿真卫星移动通信
下面共有两个程序,程序2 加入了图形显示
程序1
这个程序就是你要的.
# include "stdio.h"
# include "math.h"
# include "stdlib.h"
# include "math.h"
# include "dos.h"
# define MAX_N 3000 /*这个值为N可以定义的最大长度*/
# define N 100 /*产生随机序列的点数,注意不要大于MAX_N*/
/*产生均匀分布的随机变量*/
void randa(float *x,int num);
/*产生瑞利分布的随机变量*/
void randr(float *x,int num);
/*产生标准高斯分布的随机变量*/
void randn(float *x,int num);
/*产生莱斯分布的随机变量*/
void randl(float *x,float a,float b,int num);
void fshow(char *name,float *x,int num);
main()
{
float x[N];
int i;
/*
randa(&x,N);
randr(&x,N);
randl(&x,10,10,N);
*/
randn(&x,N);
/*此时x[N]就是所需要的高斯分布的序列*/
/*显示该序列*/
fshow("x",&x,N);
getch();
}
void randa(float *x,int num)
{
int i;
struct time stime;
unsigned seed;
gettime(&stime);
seed=stime.ti_hund*stime.ti_min*stime.ti_hour;
srand(seed);
for(i=0;i