Even distribution of coordinates subset

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!

 Accepted 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.

4 Comments

Thanks David. Do you mean that if I calculate E for various B sets, the most evenly distributed B is the one that has the lowest E?
That's right. (this is assuming that the entire span of A is important, so if you had a perfectly spaced B that only covered half the span of A, the resulting E would be very large).
Thanks David. That should work. I will experiment and figure it out.
If you have the time I would be interested to know how it turns out.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!