Reputation: 35
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,
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
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, '.');
Upvotes: 1
Views: 4536
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
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