MATLAB Answers

Even distribution of coordinates subset

29 views (last 30 days)
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!


Sign in to comment.

Accepted Answer

David Goodmanson
David Goodmanson on 6 Dec 2020
Edited: David Goodmanson on 6 Dec 2020
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.


Show 1 older comment
David Goodmanson
David Goodmanson on 9 Dec 2020
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).
Giovanni Barbarossa
Giovanni Barbarossa on 15 Dec 2020
Thanks David. That should work. I will experiment and figure it out.
David Goodmanson
David Goodmanson on 16 Dec 2020
If you have the time I would be interested to know how it turns out.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by