基于MATLAB的泊松分布的仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
泊松过程样本轨道的MATLAB 仿真
一、 Poisson Process 定义
若有一个随机过程{:0}t N N t =≥是参数为λ>0的Poisson 过程,它满足下列条件: 1、0N = 0;
2、对任意的时间指标0s t ≤<,增量()()t s N N t s ω-ωλ(-)服从参数为泊松分布。
3、对任意的自然数n ≥2和任意的时间指标0120n t t t t =<<<⋯<<⋯,n 个增量
12110,,n n t t t t t t N N N N N N --⋯,--
是相互独立的随机变量。 二、从泊松过程的定义可知
1、泊松过程具有平稳独立增量性。
2、时间指标集合为[ 0 , +∞],状态空间为*
S=N 。 3、泊松过程是一个连续时间离散状态的随机过程。 三、MATLAB 仿真泊松过程的思想
1、若定义i T 为泊松过程的到达时间,1,n n n T T n τ=+-∈N 为到达时间间隔。那么泊松过程N 的到达时间间隔{:}n n N τ∈是相互独立且同服从于参数为λ的指数分布。
2、若U 是服从于[0,1]的均匀分布,则
1
()E Ln U =-λ
服从于参数为λ的指数分布。利用随机变量分布函数的定义很容易证明这条性质。
3、由于1、和2、中的条件成立,现在我们考虑
11[()]n n n T T Ln U n τ=+=--λ
那么就可以推出
11
[()]n n T T Ln U n +=-
λ
在MATLAB 中我们可以用rand(1,K)产生一个具有K 个值的随机序列,它们在[0,1]上服从于均匀分布,利用上式计算出 n T ,在每一个到达时间 n T 处,N 的值从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),仿真结果: