基于Matlab的非时齐Poisson过程的模拟

基于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)

扫描二维码关注公众号,回复: 2274563 查看本文章

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


猜你喜欢

转载自blog.csdn.net/zichen7055/article/details/79984415