Determine outlne of dataset points

2 views (last 30 days)
Hi, I'm trying to get a curve that best traces the outer layer of the points in the attached file orproduces a close fit of the outline. I've tried polyfit and isqcurvefit with the former being the best but this barely works as my data set is not a true second order system. I've tried interpolating polynomials but this hasn't worked or I might be implementing it wrong. Any guidance would be appreciated. Thanks
  2 Comments
Siyu Guo
Siyu Guo on 11 May 2018
I'm not very sure about what you are willing to mean by the "outer layer". If you mean a rough shape containing most of the data points and meanwhile its boundary does not deviate from the data points "too greatly", I guess a least squares fitting should be able to provide a good start point. If you mean a polygon containing "all" of the points while the deviations of the points from the polygon are small enough, then maybe you can first find the convex hull of the points, then use polygon edge splitting to approach a polygon that fits the data better.

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 11 May 2018
As Walter suggested, boundary is one option. Depending how tightly you want the boundary to surround the points, alphaShape or convhull are other options.
If you want a mathematical equation instead of a computational geometry representation, assuming you know the general form of the equation you could try regression.

More Answers (0)

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!