MATLAB: Even distribution of coordinates subset

coordinateseven distributionStatistics and Machine Learning Toolbox

I have two sets of coordinates A and B, where B is an arbitrary subset of A.
I would like a measure of how evenly B is distributed along the x coordinate of A.
I have attached an example of A, and three examples of B, called B1, B2, and B3, where B1 is the “best” and B3 the “worst” from an even distribution along the x axis standpoint.
Thank you!

Best Answer

Hi Giovanni,
here is one method, which assumes that B is supposed to span basically the entire domain of A.
Suppose the set of coordinates xa runs from Ainit to Afin, and that the row vector of coordinates B has N points, which are sorted.
w = (Afin - Ainit)/N;
xb1 = [Ainit-w/2 xb Afin+w/2];
E = sum((diff(xb1)-w).^2)
In this model the set of N points divides the interval from Ainit to Afin into N+1 intervals. E is the energy of springs of unstretched length w between each of the interior intervals (there are some details to take care of at the ends). The best set B is the one that minimizes E.
The ideal set of point spacings of xb is [ w/2, w, w, w ... w/2 ]. Other variations, that treat the end points differently, are possible.