欢迎来到天天文库
浏览记录
ID:18422276
大小:97.30 KB
页数:12页
时间:2018-09-17
《随机模拟与实验上机报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、随机模拟与实验上机报告一随机模拟的典型步骤1、根据问题构建模拟系统2、仿真系统中各种分布的随机变量3、运行模拟系统,进行统计测量4、分析数据,输出结果二随机模拟的主要工具基本工具:C、C++等编程模拟、matlab网络模拟:OPNETModeler、NS2:大型网络仿真CASSAP:数字信号处理;SPW:电子系统三实验原理1、伪随机数产生函数:unsignedintCMyRand::MyRand(unsignedintseed)实现思路:利用线性同余法,设置y0,即设置种子yn=kyn-1(modN),un=yn/N即(ran0)N=231-1,k=75,周期≈2×1092、平均
2、分布随机数产生函数:doubleCMyRand::AverageRandom(doublemin,doublemax)实现思路:C语言中的rand函数可以产生0-1间隔均匀分布随机数,要产生min~max范围内精度为四位小数的随机数,则只需将该数小数点右移四位强制取整即可获得整数范围内的随机数,采用对(max-min)求余再加上min并将获得的结果缩小10000倍即可。3、正态分布随机数产生函数doubleCMyRand::NormalRandom(doublemiu,doublesigma,doublemin,doublemax)实现思路:利用中心极限定理,通过多个独立的均匀随
3、机变量之和构成正态随机变量,产生均值为miu,方差为sigma的正态分布的随机数x设Ui~U(0,1),i=1,2,…,n,且相互独立,由中心极限定理可知,当n较大时Z=i=1nUi-nEUinDUi~N0,1实验中取n=15,EUi=1-02=0.5,DUi=1-0212=112再用变换公式x=Z*sigma+miu可以得到正态分布随机数4、指数分布随机数产生函数doubleCMyRand::ExpRandom(doublelambda,doublemin,doublemax)实现思路:利用逆变换法产生参数为λ的指数分布,其指数分布函数为Fx=1-e-λx其反函数为X=F-1U
4、=-1λln1-U因此,X的模拟方法为,先产生均匀分布随机数{ui};再计算指数分布随机数:xi=-lnuiλ5、泊松分布随机变数产生函数unsignedintCMyRand::PoisonRandom(doublelambda,doublemin,doublemax)实现思路:由于pi+1=λi+1e-λi+1!=λi+1pi,所以采用递推法构成泊松分布1)产生[0,1]均匀分布随机数u2)i=0,p=e-λ,F=p3)若u5、da,intpoints)实现思路:平稳随机过程数字特征求解的相关原理RX(m)=I2e-2λ6、m7、;KX(m)=RX(m)-m2X(1)E(X(n))=I*P{X(n)=+I}+(-I)*P{X(n)=-I}=0(2)Rm=EXnXn+m=I2PXnXn+m=I2-I2PXnXn+m=-I2当m>0时PXnXn+m=I2=k=0∞λm2k2k!e-λmPXnXn+m=-I2=k=0∞λm2k+12k+1!e-λmRxm=I2e-2λm四代码编译//MyRand.cpp:implementationoftheCMyRandclass.///////////////////////8、/////////////////////////////////////////////////#include"stdafx.h"#include"random.h"#include"MyRand.h"#include"math.h"#ifdef_DEBUG#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#definenewDEBUG_NEW#endif////////////////////////////////////////////////////////////////////////Construction/Destru9、ction//////////////////////////////////////////////////////////////////////CMyRand::CMyRand(){}CMyRand::~CMyRand(){}voidCMyRand::MyRandInit(void){N=0x7FFFFFFF;//2^31-1K=16807;//7^5srand((int)time(0));seed=3;//rand();//seed=2;seed++;}/*函数功能,采用
5、da,intpoints)实现思路:平稳随机过程数字特征求解的相关原理RX(m)=I2e-2λ
6、m
7、;KX(m)=RX(m)-m2X(1)E(X(n))=I*P{X(n)=+I}+(-I)*P{X(n)=-I}=0(2)Rm=EXnXn+m=I2PXnXn+m=I2-I2PXnXn+m=-I2当m>0时PXnXn+m=I2=k=0∞λm2k2k!e-λmPXnXn+m=-I2=k=0∞λm2k+12k+1!e-λmRxm=I2e-2λm四代码编译//MyRand.cpp:implementationoftheCMyRandclass.///////////////////////
8、/////////////////////////////////////////////////#include"stdafx.h"#include"random.h"#include"MyRand.h"#include"math.h"#ifdef_DEBUG#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#definenewDEBUG_NEW#endif////////////////////////////////////////////////////////////////////////Construction/Destru
9、ction//////////////////////////////////////////////////////////////////////CMyRand::CMyRand(){}CMyRand::~CMyRand(){}voidCMyRand::MyRandInit(void){N=0x7FFFFFFF;//2^31-1K=16807;//7^5srand((int)time(0));seed=3;//rand();//seed=2;seed++;}/*函数功能,采用
此文档下载收益归作者所有