sunson29
sunson29

Reputation: 35

Poisson point process in matlab

I am new with poisson point process. I did one simluation (matlab) as below. My intensity lambda = 50;

clear all;
lambda=50;
 npoints = poissrnd(lambda);
  pproc = rand(npoints, 2);
  plot(pproc(:, 1), pproc(:, 2), '.');

Then I have plot, enter image description here

However, the link

http://connor-johnson.com/2014/02/25/spatial-point-processes/

showed me that when intensity lamuda = 0.2, smaller than 1 , he got

enter image description here

The link also showed the code in Python.Please check it.

Here is my question, why intensity is smaller than 1, he still can plot something here? If I let my code's lamda = 0.2, there will be no value to plot. I think I miss something about Poisson point process? or it's a programming problem? I want to simulate this lambda = 0.2 in matlab.

Thank you so much for your help.

total lambda = 0.4. I want to have 100 unit. This means unit intensity = 0.4 * 100 = 40. thank you so much.

 la=0.4;
 lala=0.4*100;
  npoints = poissrnd(lala);

  pproc = rand(npoints, 2);

  plot(pproc(:, 1).*100, pproc(:, 2).*100, '.');

enter image description here

Upvotes: 1

Views: 4536

Answers (2)

SJa
SJa

Reputation: 515

I think your solution should be following. (Note : Two different methods of drawing PPP spatial distribution)

clear all;
clc;
close all;

lambda=50;

%Method 1
pproc  = poissrnd(lambda, 100, 2);
size(pproc)
plot(pproc(:, 1), pproc(:, 2), '.');
title('Poisson with poissrnd')

%Method 2
pproc2 = random('Poisson', lambda, 100, 2);
size(pproc2)
figure;
plot(pproc2(:, 1), pproc2(:, 2), '.');
title('Poisson with Random statement')

Upvotes: 2

sunson29
sunson29

Reputation: 35

total lambda = 0.4. I want to have 100 unit. This means unit intensity = 0.4 * 100 = 40. thank you so much.

 la=0.4;
 lala=0.4*100;
  npoints = poissrnd(lala);

  pproc = rand(npoints, 2);

  plot(pproc(:, 1).*100, pproc(:, 2).*100, '.');

Please check the figure in my question at the end.

Upvotes: 1

Related Questions