Find x,y,z coordinations of a point given a set of other points with known distances

2 views (last 30 days)
Hi,
I have a data set where I have 4-7 points (x,y,z) with known coordinates over time (100 time frames). At one time frame I have another point (C), from which I can extract the distance to each of the 4-7 known points. In all of the other frames, I want to determine the x,y,z coordinate of where that point (C) would be. What is the easiest way to do this? I figure this must be a triangulation problem, but Im not sure how to get at it. Or if there are toolboxes that might have code set up to do this.
Thanks,
  1 Comment
John D'Errico
John D'Errico on 28 Oct 2014
Edited: John D'Errico on 28 Oct 2014
I added the multilateration tag because that is the name used when I find this problem described in the literature.

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 27 Oct 2014
Edited: John D'Errico on 27 Oct 2014
If you have more than 3 points, then it is possible (actually very likely) that there is no exact solution.
Essentially, if you KNOW the distance from a given point, then the solution MUST lie on the surface of a sphere of that radius. The intersection of 2 such spheres, assuming that the problem is non-degenerate, will be a circle. A third sphere will intersect with that circle in two points (or one or none.) Add a 4th sphere (or more) to the mix, and if these are measured points with some noise in them, then there will be probably no exact solution.
One can actually formulate the problem in a linear least squares sense. I imagine there must be some code on the file exchange. (I'll look and coem back to this.)
  4 Comments
Sam Tong
Sam Tong on 25 Sep 2016
So is there any progress with this question? Is there some solution for adapt with 4 or more points in 2D space?
John D'Errico
John D'Errico on 25 Sep 2016
Edited: John D'Errico on 25 Sep 2016
If the actual distances to a given set of points are known, then the answer is easy, as the problem reduces to a linear system of equations in the unknown best point. Thus, write out the system as a set of equations for circles, then subtract one from the rest. All of the squared terms in the unknowns should drop out, leaving a linear system to solve. backslash will then suffice.
If only the relative differences are known, then the problem reduces to a nonlinear optimization problem. That is the classical multilateration problem. It is solvable using tools from the optimization toolbox. lsqnonlin should work.
So which case is your problem?

Sign in to comment.

More Answers (0)

Categories

Find more on Triangulation Representation 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!