随机过程实验报告
- 格式:doc
- 大小:119.50 KB
- 文档页数:11
过程试验汇报班级: 通信1004班姓名: 杨靖学号: U13098试验目:了解数产生, 而且利用数来模拟均匀分布、 正态分布、 指数分布、 泊松分布而且计算均值和自相关序列。
试验工具:C++编程模拟试验原理:数产生原理: 经过数学算法产生伪数来, 模拟数产生。
数序列含有循环周期性。
能够证实, 任何产生伪数算法总会进入循环, 这么为了确保随机数序列不产生反复数据, 就要求循环周期足够长。
均匀分布产生原理:利用线性同余法(1)设置y0, 即设置种子(2)yn=kyn-1(mod N), un=yn/N泊松分布产生原理: 从泊松分布分布律可知, 采取前述方法很不适用。
因为: 所以, 采取递推法组成泊松分布: (1)产生均匀分布数u; (2) (3)若u<F, 令X=i, 停止; (4) (5)转向(3)。
正态分布产生原理:标准正态变量分布函数 反函数不存在显式, 所以也不能用逆变法产生。
故采取以下方法:设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, 由中心极限定理可知, 当n 较大时设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, E(Ui)=1/2, D(Ui)=1/12, 当n 较大时有:取n=12, 近似有:也就是说, 只要产生12个伪数u1,u2,…u12, 将它们加起来, 再减去6, 就能近似得到标准正态变量样本值。
{}!i i e p P X i i λλ-===11(1)!1i i i e p p i i λλλ+-+==++0,,;i p e F p λ-===/(1),,1;p p i F F p i i λ=+=+=+()~(0,1)n i i U nE U Z N -=∑~(0,1)ni n U Z N -=∑1216~(0,1)i i Z U N ==-∑指数分布产生原理:(1)产生均匀分布数{ui};(2)计算指数分布数: xi=-ln ui /λ试验代码:(1)数产生/*函数功效, 采取线性同余法, 依据输入种子数产生一个伪数, 假如种子不变,则将能够反复调用产生一个伪序列利用CMyRand类中定义全局变量: S, K, N, Y。
数学与计算科学学院实验报告实验项目名称随机数及Poisson过程的模拟所属课程名称随机过程实验类型综合实验日期班级学号姓名成绩一、实验概述: 【实验目的】通过模拟产生随机数,进一步编程实现对possion 过程样本轨道的模拟。
掌握生成随机变量的方法,深入了解poisson 过程的性质。
【实验原理】1、随机变量的生成(逆函数法):利用均匀分布并结合分布函数的逆变换,生成分布函数为F (x )的变换:若U 是[0,1]区间上的均匀分布,F (x )为任一给定的分布函数,定义1()inf{:()}F x t F t x -=>,则随机变量1()Y F U -=的分布函数为F (x );2、Poisson 过程的模拟:(1)利用事件发生的间隔时间是独立同分布的随机变量序列,(2)给定事件发生次数的条件下,事件发生的时刻与该区间上对应的均匀分布的顺序统计量相同【实验环境】 硬件环境Windows 7 Microsoft Corporation Inter(R)Core(TM) i5-3210 软件环境 Matlab 7.0 二、实验内容: 【实验方案】1、利用求逆函数的方法生成指数分布随机变量;2、(a )利用独立同分布的指数分布序列模拟强度为1的Poisson 过程; (b )利用均匀分布的顺序统计量模拟强度为1的Poisson 过程 【实验过程】(实验步骤、记录、数据、分析) 1.利用求逆函数的方法生成指数分布随机变量;步骤一:我们知道一个指数分布的概率密度函数是:其中λ > 0是分布的一个参数,常被称为率参数(rate parameter )。
即每单位时间发生该事件的次数。
指数分布的区间是[0,∞)。
如果一个随机变量X 呈指数分布,则可以写作:X ~ Exponential (λ)。
累积分布函数:累积分布函数可以写成:所以在 0≥x 时该分布函数的逆变换为:步骤二:生成均匀分布在[0,1]上的随机数Matlab 里生成[0,1]上的均匀随机数的语句是:rand(1,1); rand(n,m)。
随机过程报告在我们的日常生活和众多科学领域中,随机过程这一概念扮演着极其重要的角色。
它不仅是理论研究的关键领域,也在实际应用中发挥着巨大的作用。
随机过程,简单来说,就是一族随机变量,其取值会随着某些参数(比如时间)的变化而变化。
想象一下,我们在预测天气时,每天的天气状况并不是完全确定的,而是具有一定的随机性。
这种随着时间变化的不确定的天气情况,就可以看作是一个随机过程。
随机过程有着各种各样的类型。
比如,泊松过程就是其中一种常见的类型。
泊松过程通常用于描述在一定时间内某一事件发生的次数。
例如,在一段时间内到达某个服务窗口的顾客数量,或者某一时间段内网站的点击次数等。
另一个重要的随机过程是马尔可夫过程。
马尔可夫过程具有一个非常有趣的特性,那就是“无记忆性”。
这意味着未来的状态只取决于当前的状态,而与过去的历史无关。
就好像一个人在做决策时,只考虑当下的情况,而不受到之前所做决定的影响。
随机过程在通信领域也有着广泛的应用。
在信号传输过程中,由于存在各种干扰和噪声,信号的强度和质量会发生随机变化。
通过对这些随机变化的分析和建模,我们可以更好地设计通信系统,提高信号传输的可靠性和效率。
在金融领域,随机过程同样不可或缺。
股票价格的波动、汇率的变化等都具有随机性。
通过建立合适的随机模型,投资者可以对风险进行评估和管理,制定更合理的投资策略。
让我们通过一个具体的例子来更深入地理解随机过程。
假设我们有一个抽奖游戏,每次抽奖的结果是独立的,可能抽到奖品,也可能抽不到。
我们把每次抽奖看作一个时间点,抽到奖品记为 1,抽不到记为0。
那么随着抽奖次数的增加,这一系列的结果就构成了一个随机过程。
在研究随机过程时,我们会用到一些重要的概念和方法。
期望值和方差是两个常用的统计量,它们可以帮助我们了解随机变量的平均水平和波动程度。
而概率分布函数则描述了随机变量取不同值的概率。
为了更准确地描述和分析随机过程,我们还会使用一些数学工具,如微分方程和随机微分方程。
随机过程实验报告一.实验目的通过随机过程的模拟实验, 熟悉随机过程编码规律以及各种随机过程的实现方法, 通过理论与实际相结合的方式, 加深对随机过程的理解。
二. 实验原理及实现代码1.伪随机数的产生函数功能: 采用线性同余法, 根据输入的种子数产生一个伪随机数, 如果种子不变, 则将可以重复调用产生一个伪随机序列实现思路:利用CMyRand类中定义的全局变量:S, K, N, Y。
其中K和N为算法参数, S用于保存种子数, Y为产生的随机数, 第一次调用检查将seed赋值与S获得Y的初值, 之后调用选择rand()函数赋值与Y。
代码如下:unsigned int CMyRand::MyRand(unsigned int seed){Y=seed;Y=K*seed%N;S=Y;return Y;}2.均匀分布随机数的产生在上面实验中, 已经产生了伪随机序列, 所以为了得到0~N 的均匀分布序列, 只需将其转化为min 到max 的均匀分布即可, 代码如下:double CMyRand::AverageRandom(double min,double max) {double dResult;dResult = (double(MyRand(S))/N)*(max-min)+min; dResult=(int(dResult*10000))/10000.0 ;return dResult; }3.正态分布随机数的产生由AverageRandom 函数获得0-1间隔均匀分布随机数U(0,1), i=1,2,…,n, 且相互独立, 由中心极限定理可知, 当n 较大时,()~(0,1)nU nE U Z N -=取n=12, 近似有, 也就是说, 只要产生12个伪随机数u1,u2,…u12, 将它们加起来, 再减去6, 就能近似得到标准正态变量的样本值。
代码如下:double CMyRand::NormalRandom(double miu, double sigma, double min, double max){double dResult;dResult = 0;for(int i=0;i<12;i++)dResult+=(double(MyRand(S))/N); //循环相加12次dResult-=6;dResult=(dResult*sigma+miu)*(max-min)+min;return dResult;}3.指数分布的随机数的产生用AverageRandom产生均匀分布随机数{ui}, 计算指数分布随机数: xi=-ln ui /λdouble CMyRand::ExpRandom(double lambda, double min, double max){double dResult = 0.0;dResult=-log(AverageRandom(min,max))/lambda;return dResult;}4.泊松分布的随机数产生unsigned int CMyRand::PoisonRandom(double lambda, double min, double max){unsigned int dResult = 0;double F=exp(-lambda);while(AverageRandom(0,1)>=F){F+=(lambda*F)/(dResult+1);dResult++;}return dResult;}5.计算任意分布的随机过程的均值根据大数定律, 调用任意函数加和求平均即为该分布的均值。
一、实验目的1. 理解随机过程的基本概念和性质。
2. 掌握随机过程的基本运算和性质。
3. 通过实验验证随机过程的性质和规律。
二、实验原理随机过程是指一系列随机变量按照一定规则排列而成的序列。
在现实生活中,随机过程广泛存在于自然界和人类社会,如股票价格、气象变化、生物进化等。
随机过程的研究有助于我们更好地理解和预测这些现象。
随机过程可以分为两类:离散随机过程和连续随机过程。
本实验主要研究离散随机过程。
三、实验设备与材料1. 计算机2. 随机过程模拟软件(如Matlab)3. 纸笔四、实验内容1. 随机过程的基本概念(1)随机变量的概念随机变量是指具有不确定性的变量,它可以取多个值。
在随机过程中,随机变量是基本的研究对象。
(2)随机过程的概念随机过程是由一系列随机变量按照一定规则排列而成的序列。
2. 随机过程的基本性质(1)无后效性无后效性是指随机过程的前后状态相互独立。
(2)无记忆性无记忆性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
(3)马尔可夫性马尔可夫性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
3. 随机过程的运算(1)随机过程的和设{Xn}和{Yn}是两个随机过程,则它们的和{Zn}定义为Zn = Xn + Yn。
(2)随机过程的差设{Xn}和{Yn}是两个随机过程,则它们的差{Zn}定义为Zn = Xn - Yn。
(3)随机过程的乘积设{Xn}和{Yn}是两个随机过程,则它们的乘积{Zn}定义为Zn = Xn Yn。
4. 随机过程的模拟利用随机过程模拟软件(如Matlab)模拟随机过程,观察其性质和规律。
五、实验步骤1. 初始化随机数生成器2. 定义随机过程(1)根据随机过程的基本性质,定义随机过程{Xn}。
(2)根据随机过程的运算,定义随机过程{Yn}。
3. 模拟随机过程(1)使用随机过程模拟软件(如Matlab)模拟随机过程{Xn}和{Yn}。
(2)观察模拟结果,分析随机过程的性质和规律。
2015-2016第一学期随机过程第二次上机实验报告实验目的:通过随机过程上机实验,熟悉Monte Carlo计算机随机模拟方法,熟悉Matlab的运行环境,了解随机模拟的原理,熟悉随机过程的编码规律即各种随机过程的实现方法,加深对随机过程的理解。
上机内容:(1 )模拟随机游走。
(2)模拟Brown运动的样本轨道。
(3)模拟Markov过程。
实验步骤:(1)给出随机游走的样本轨道模拟结果,并附带模拟程序。
①一维情形%—维简单随机游走% “从0开始,向前跳一步的概率为p,向后跳一步的概率为1-p”n=50;p=0.5;y=[0 cumsum(2.*(rand(1,n-1)v=p)-1)]; % n 步。
plot([0:n-1],y); %画出折线图如下。
w%一维随机步长的随机游动%选取任一零均值的分布为步长,比如,均匀分布。
n=50;x=rand(1,n)-1/2;y=[0 (cumsum(x)-l)];plot([0:n],y);②二维情形%在(u, v)坐标平面上画出点(u(k), v(k)), k=1:n,其中(u(k)) 和(v(k))是一维随机游动。
例%子程序是用四种不同颜色画了同一随机游动的四条轨道。
n=100000;colorstr=['b' 'r' 'g' 'y'];for k=1:4z=2.*(rand(2,n)<0.5)-1;x=[zeros(1,2); cumsum(z')];col=colorstr(k);plot(x(:,1),x(:,2),col);③%三维随机游走 ranwalk3dp=0.5;n=10000; colorstr=['b' 'r' 'g' 'y'];for k=1:4z=2.*(rand(3,n)v=p)-1; x=[zeros(1,3); cumsum(z')];col=colorstr(k);plot3(x(:,1),x(:,2),x(:,3),col);hold on end gridhold onendgrid4:04003?0-200-300-400-2OD20050、-100-200 -20D⑵给出一维,二维Brown运动和Poisson过程的模拟结果,并附带模拟程序,没有结果的也要把程序记录下来。
随机过程实验报告学院:专业:学号:姓名:一、实验目的通过随机过程的模拟实验,熟悉随机过程编码规律以及各种随机过程的实现方法,通过理论与实际相结合的方式,加深对随机过程的理解。
二、实验内容(1)熟悉Matlab工作环境,会计算Markov链的n步转移概率矩阵和Markov链的平稳分布。
(2)用Matlab产生服从各种常用分布的随机数,会调用matlab自带的一些常用分布的分布律或概率密度。
(3)模拟随机游走。
(4)模拟Brown运动的样本轨道的模拟。
(5)Markov过程的模拟。
三、实验原理及实验程序n步转移概率矩阵根据Matlab的矩阵运算原理编程,Pn = P ^n。
已知随机游动的转移概率矩阵为:P =0.5000 0.5000 00 0.5000 0.50000.5000 0 0.5000求三步转移概率矩阵p3及当初始分布为P{x0 = 1} = p{x0 = 2} = 0, P{x0 = 3} = 1 时经三步转移后处于状态3的概率。
代码及结果如下:P = [0.5 0.5 0; 0 0.5 0.5; 0.5 0 0.5] %一步转移概率矩阵P3 = P ^3 %三步转移概率矩阵P3_3 = P3(3,3) %三步转移后处于状态的概率1、两点分布x=0:1;y=binopdf(x,1,0.55);plot(x,y,'r*');title('两点分布');2、二项分布N=1000;p=0.3;k=0:N;pdf=binopdf(k,N,p);plot(k,pdf,'b*');title('二项分布');xlabel('k');ylabel('pdf');gridon;boxon3、泊松分布x=0:100;y=poisspdf(x,50);plot(x,y,'g.');title('泊松分布')4、几何分布x=0:100;y=geopdf(x,0.2);plot(x,y,'r*');title('几何分布');xlabel('x');ylabel('y');5、泊松过程仿真5.1 % simulate 10 timesclear;m=10; lamda=1; x=[];for i=1:ms=exprnd(lamda,'seed',1);x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']5.2%输入:N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];elseif t<t1(2)N=[N,1];elseif t<t1(3)N=[N,2];elseif t<t1(4)N=[N,3];elseif t<t1(5)N=[N,4];elseif t<t1(6)N=[N,5];elseif t<t1(7)N=[N,6];elseif t<t1(8)N=[N,7];elseif t<t1(9)N=[N,8];elseif t<t1(10)N=[N,9];elseN=[N,10];endendplot(0:0.1:(t1(m)+1),N,'r-') 5.3% simulate 100 timesclear;m=100; lamda=1; x=[];for i=1:ms= rand('seed');x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];endfor i=1:(m-1)if t>=t1(i) & t<t1(i+1)N=[N,i];endendif t>t1(m)N=[N,m];endendplot(0:0.1:(t1(m)+1),N,'r-')6、泊松过程function I=possion(lambda,m,n)for j=1:mX=poissrnd(lambda,[1,n]); %参数为lambda的possion 过程N(1)=0;for i=2:nN(i)=N(i-1)+X(i-1);endt=1:n;plot(t,N)grid onhold onend7、布朗运动7.1一维布朗运动程序:function [t,w]=br1(t0,tf,h)t=t0:h:tf;t=t';x=randn(size(t));w(1)=0;for k=1:length(t)-1w(k+1)=w(k)+x(k);endw=sqrt(h)*w;w=w(:);end调用t0=1;tf=10;h=0.01;[t,w]=br1(t0,tf,h);figure;plot(t,w,'*');xlabel('t');ylabel('w');title('一维Brown运动模拟图'); 7.2二维布朗运动:function [x,y,m,n]=br2(x0,xf,y0,yf,h)x=x0:h:xf;y=y0:h:yf;a=randn(size(x));b=randn(size(y));m(1)=0;n(1)=0;for k=1:length(x)-1m(k+1)=m(k)+a(k);n(k+1)=n(k)+b(k);endm=sqrt(h)*m;n=sqrt(h)*n;end调用x0=0;xf=10;h=0.01;y0=0;yf=10;[x,y,m,n]=br2(x0,xf,y0,yf,h);figure;plot(m,n);xlabel('m');ylabel('n');title('二维Brown运动模拟图');7.3三维布朗运动:npoints =1000;dt = 1;bm = cumsum([zeros(1, 3); dt^0.5*randn(npoints-1, 3)]);figure(1);plot3(bm(:, 1), bm(:, 2), bm(:, 3), 'k');pcol = (bm-repmat(min(bm), npoints, 1))./ ...repmat(max(bm)-min(bm), npoints, 1);hold on;scatter3(bm(:, 1), bm(:, 2), bm(:, 3), ...10, pcol, 'filled');grid on;hold off;8、马尔科夫链离散服务系统中的缓冲动力学m=200;p=0.2;N=zeros(1,m); %初始化缓冲区A=geornd(1-p,1,m); %生成到达序列模型, for n=2:mN(n)=N(n-1)+A(n)-(N(n-1)+A(n)>=1);endstairs((0:m-1),N);9、随机数游走9.1 100步随机游走n = 100; %选取步数。
1随机过程实验报告 - 副本__________________________________________________________________________________随机过程试验报告班级:姓名:学号:____________________________________________________________________ ____________________________________________________________________________________________ ______________________________________________________________________________________实验一实验题目 Xtxwt()cos(),描绘出随机过程的图像实验目的 Xtxwt()cos(),利用MATLAB编程描绘出随机过程的图像实验地点及时间信息楼127机房 2012.5.31实验内容Xtxwt()cos(),绘制随机过程的图像实验习题,函数z=xcos(wt)中,w为常量,设为2;自变量为x和t,其中t[-1,1],x服从[-1,1]上的标准正态分布;y是因变量。
用Matlab编程如下:t=-1:0.01:1;>> x=normpdf(t);//x服从标准正态分布。
>> z=x.*cos(1*t);>> plot3(t,x,z);如下图所示;实验总结理解随机过程的本质含义,并学会运用MATLAB语言编程描绘在随机过程函数图像。
实验成绩评阅时间评阅教师____________________________________________________________________ ____________________________________________________________________________________________ ______________________________________________________________________________________实验二实验题目 Xtwt()cos(),,,,绘制随机相位正弦波的均值,方差和自相关函数的图像实验目的通过绘制图像,深入理解随机相位正弦波的均值,方差和自相关函数实验地点及时间信息楼127机房 2012.5.31Xtwt()cos(),,,,实验内容:绘制随机相位正弦波的均值,方差和自相关函数的图像实验习题,cos(,t,,),,,,函数z=中,令=2,=2,服从(0,2)上的均匀分布,,,t(0,2)。
随机过程实验报告一、实验问题两赌徒模型对于上述模型现在假定赌徒甲的对手赌徒乙有N-i的初始财富,N为两个赌徒的总财富。
则赌徒甲破产的概率有多大?模拟之。
二、问题分析该问题实质上为带有两个吸壁的随机游动,我们可以仍可把它看作数学中的一个一维随机游动问题。
其马尔可夫链状态空间为{0,1,2,…,N},N为赌徒甲、乙的总财富。
类似于赌徒与游戏机模型,我们也可以把财富抽象地看成是一个质点。
可知求赌徒甲破产的概率转化为现在的问题就是求质点从i点出发到达0状态先于到达N状态的概率。
这里较赌徒与游戏机模型中多出一个条件,即:赌徒甲先于赌徒乙到达0状态。
我们不难得到这一模型的解:三、问题解决1、先讨论p=q的随机游动情况对于简单的随机游动,如果从0开始,向前跳一步的概率为p,向后跳一步的概率为1-p,则由计算机可以模拟此情形。
这只是许多模拟结果中的一种。
现在我们假设,有A、B两个赌徒,他们共同用于赌博的财富M=100(元),A、B输赢的概率(即赌博的技巧相同)时,他们破产的概率。
假设,共同的财富中A、B分别投入的资金如下表:运算结果如下:由上图可知,当赌徒甲、乙输赢的概率相等时,其中一人破产的概率与对方所拥有的财富成正比关系。
这样我们可以得出结论:在两人的赌博游戏中,如果赌徒甲、乙的赌博技术差不多即输赢概率相当的话,那么谁要想最终获胜的最好方法就是多带赌本。
2、下面讨论p!=q时随机游动情况我们不妨将之具体为p=0.4,q=0.6。
用计算机模拟上述数据。
可得图如下:由上图可知,在每次输赢都为1元时,就算甲90元、乙10元,甲也几乎不可能赢。
如果我们把每次下的赌注加大到5元,修改程序三,模拟之,又可得图如下:由上图我们可以更清晰地看出:在两人的赌博游戏中,如果赌徒甲的赌博技术比乙的赌博技术差的话,那么甲要想最终获胜就要带比乙多很多的赌本。
四、结果拓展现实中的赌博还可能有三人、四人甚至更多的人一起进行。
下面我们简单地讨论当赌徒输赢概率相等时的二维随机游动。