用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数用于仿真卫星移动通信
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 15:39:02
![用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数用于仿真卫星移动通信](/uploads/image/z/8813236-4-6.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0%E7%91%9E%E5%88%A9%E5%88%86%E5%B8%83%2C%E8%8E%B1%E6%96%AF%E5%88%86%E5%B8%83%2C%E9%AB%98%E6%96%AF%E5%88%86%E5%B8%83%E7%9A%84%E5%88%86%E5%B8%83%E5%87%BD%E6%95%B0%E7%94%A8%E4%BA%8E%E4%BB%BF%E7%9C%9F%E5%8D%AB%E6%98%9F%E7%A7%BB%E5%8A%A8%E9%80%9A%E4%BF%A1)
用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