Create a square grid with some random points inside that follow the poisson distribution and use each of these points as a starting point for my function
10 次查看(过去 30 天)
显示 更早的评论
Hi everyone! Happy new year! I hope everyone is doing well!!
So I have a function that simulates dla (something like brownian motion). But I want to create a square grid with some random points inside of the grid that follow the poisson distribution and from each and everyone of those points call my function to simulate a small dla. Does anyone know how can I do this?
0 个评论
采纳的回答
William Rose
2023-1-13
If you place a point at random in the unit square with rand(), then the the distribution of points inside small sub-squares will be approximately Poisson.
M=100; %number of simulations
N=200; %number of points per simulation
%Divide the unit square into a 10x10 grid of subsquares
counts=zeros(M,10,10); %number of points in each subsquare in each simulation
for i=1:M
pts=rand(N,2); %x,y coordinates of N points in the unit square
gridpts=floor(10*pts)+[1,1]; %convert point locaitons to indices in the subsquare grid
for j=1:N
counts(i,gridpts(j,1),gridpts(j,2))=counts(i,gridpts(j,1),gridpts(j,2))+1;
end
end
histogram(reshape(counts,1,M*100),'Normalization','pdf')
hold on
%% PLot expected Poisson distribution
lambda=N/100; %expected points per subsquare
k=0:10;
plot(k,lambda.^k.*exp(-lambda)./factorial(k),'-r')
legend('Observed','Expected')
This is the distribution of points in subsquares. The plot shows that the observed number of points per subsquare follows the expected Poisson distribution.
13 个评论
William Rose
2023-2-3
Geroge, I see that you have posted this question separately elsewhere on this site, so I will think about it, and if I have an answer, I will post it there.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!