基于Matlab的非时齐Poisson过程的模拟
Poisson过程在任何时刻到达的速率为λ,而非时齐Poisson过程的速率λ与时间t有关,为λ(t),具体定义附下(参考链接:https://zhuanlan.zhihu.com/p/28785318):

如果要模拟在[0,T]时间内非齐次Poisson过程,我们首先模拟一个速率为λ的Poisson过程,其中λ(t)<=λ, t<= T。然后再以λ(t)/λ的概率决定是否计数,这样得到的过程是密度为λ(t) 的非齐次Poisson过程。
本文使用稀疏法模拟非齐次Poisson过程,原理如下(参考《非齐次泊松过程的仿真方法》——宁如云 原文链接:
https://wenku.baidu.com/view/0b8cca4f844769eae009eda6.html):

基于matlab的具体算法代码如下:
function [ ] =fei_Poisson( )
%fei_Poisson 非时齐Poisson过程的模拟
%时间为[0,10],密度lamda=1 lamda(t)= exp(-t/T)
t=0;
I=0;
T=10;
S=[];
while t<=T
U=rand(1,1);
t=t-log(U);
lamda=1;
lamdat=exp(-t/T);
if t<=T
U1=rand(1,1);
if U1<=lamdat / lamda %是否计数
I=I+1;
S(I)=t;
end
bar(S(I),I);%以时间为横坐标 发生次数为纵坐标
hold on
end
end
S
I
end
本文介绍如何使用Matlab模拟非时齐Poisson过程。非时齐Poisson过程的速率λ随时间变化,通过模拟固定速率Poisson过程并按λ(t)/λ的概率计数来实现。文中提供了基于稀疏法的具体算法代码。
1万+

被折叠的 条评论
为什么被折叠?



