Nearest neighbour distances between random points

6 ビュー (過去 30 日間)
Alex Knight
Alex Knight 2014 年 4 月 8 日
編集済み: Alex Knight 2014 年 4 月 9 日
I am trying to model an experiment where molecules are randomly distributed on a 2D surface. What I want to know is:
  1. How are the nearest neighbour distances between the molecules distributed?
  2. How does the distribution vary with the areal density of molecules?
In other words, for a range of densities (molecules/μm²) how do I calculate the mean/median distance between each molecule and its nearest neighbour? I thought this should be a trivial problem, but from what I have found so far it looks to be more involved than I thought. I'm an experienced MATLAB user but not a mathematician…

採用された回答

Walter Roberson
Walter Roberson 2014 年 4 月 8 日
This sounds like a job for Monte Carlo methods.
repeat over the range of densities
repeat a number of times
use the current density to generate a random set of particle locations
find the nearest neighbour distances
measure the mean and median NN distances, probably the standard deviation, and record
end loop
create some kind of ensemble representation for the current density
end loop
You will need to pay attention to whether the locations are uniformly distributed or normally distributed or power law or whatever.
Doing a theoretical modeling is probably possible, but I do not know how to do it.
  2 件のコメント
Image Analyst
Image Analyst 2014 年 4 月 8 日
Yep. 2D Poisson process, like here. We went through the math in graduate school but the exact formulas and properties are a bit much to memorize. But there's always wikipedia for those with imperfect memory (I guess that's most of us).
Alex Knight
Alex Knight 2014 年 4 月 9 日
編集済み: Alex Knight 2014 年 4 月 9 日

Thanks Walter. I already have most of the code for the Monte Carlo modelling. I guess I don't need to model at different densities; more efficient to calculate distances for the same number of points in a unit square and then scale accordingly.

Image Analyst - I can see that the number of points in a given area will follow a Poisson distribution. But how do I get from that to a nearest neighbour distance?

Edit: this might be the answer: "The probability of locating the N th neighbor of any given point, at some radial distance r is:

Thanks for all the pointers!

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by