function x=nonhomopp(intens,T) %generate a nonhomogeneousl poisson process on [0,T] with intensity function intens x=0:.1:T; l=eval([intens 'x']); lam0=max(l); % this is used to generate homogeneouos poisson process u=rand(1,ceil(1.5*T*lam0)); x=cumsum(-(1/lam0)*log(u)); %points of homogeneous pp x=x(x