基于matlab的泊松分布的仿真

泊松过程样本轨道的MATLAB仿真

一、 Poisson Process定义

若有一个随机过程是参数为λ>0的Poisson过程,它满足下列条件:

1、= 0;

2、对任意的时间指标,增量

3、对任意的自然数n≥2和任意的时间指标,n个增量

是相互独立的随机变量。

二、从泊松过程的定义可知

1、泊松过程具有平稳独立增量性。

2、时间指标集合为[ 0 , +∞],状态空间为 。

3、泊松过程是一个连续时间离散状态的随机过程。

三、MATLAB仿真泊松过程的思想

1、若定义为泊松过程的到达时间,为到达时间间隔。那么泊松过程N的到达时间间隔是相互独立且同服从于参数为λ的指数分布。

2、若U是服从于[0,1]的均匀分布,则

服从于参数为λ的指数分布。利用随机变量分布函数的定义很容易证明这条性质。

3、由于1、和2、中的条件成立,现在我们考虑

那么就可以推出

在MATLAB中我们可以用rand(1,K)产生一个具有K个值的随机序列,它们在[0,1]上服从于均匀分布,利用上式计算出 ,在每一个到达时间 处,的值从n-1变成n。用plot函数就可以将样本轨道画出了。

四、MATLAB程序

1、首先我们建立一个poisson函数,即poisson.m:

function poisson(m)

%This function can help us to simulate poisson processes.

%If you give m a integer like 1 2 3 and so on ,then you will get

%a figure to illustrate the m sample traces of the process.

%

rand('state',0); %复位伪随机序列发生器为0状态

K=10; %设置计数值为10

%m=6; %设置样本个数

color=char('r+','b+','g+','m+','y+','c+'); %不同的轨道采用不同的颜色表示

lambda=1; %设置到达速率为1

for n=1:m

u=rand(1,K); %产生服从均匀分布的序列

T=zeros(1,K+1); %长生K+1维随机时间全零向量

k=zeros(1,K+1); %产生K+1维随机变量全零向量

for j=1:K

k(j+1)=j;

T(j+1)=T(j)-log(u(j))/lambda; %计算到达时间

end

for i=1:K

plot([T(i):0.001:T(i+1)],[k(i):k(i)],color(n,[1,2]));

hold on;

end

end

2、下面我们在命令窗口键入以下命令:

clear;

poisson(1);

就可以得到一条样本轨道,如下所示:

键入poisson(2),得到的图如下:

键入poisson(3),得到的图如下:

键入poisson(4),仿真结果:

键入poisson(5),仿真结果:

键入poisson1(6),仿真结果:

更多推荐