假设我有一系列(不完美的)方位读数,给出了一些点之间模糊的角度。从点A,B,C投影的线显然--不总是--永远不会在一个点上汇合来定义点D的位置。因此,从A,B和C的角度来看,需要调整角度。
为了让它更有趣,我可能会更确定特定点的相对位置(假设我在卫星图像上找到它们,或者我知道它们是完全朝北向南的),所以我可能希望在计算中使用这种确定性,并且完全不调整特定的角度。
我应该用什么方法来平均得到的坐标,以达到“最精确”的整体形状?
我考虑过将未调整的角度和调整的角度之间的差异视为“张力”,并试图在随后的传球中“缓解”它,但这种方法优先考虑先前计算的点数。
另一种方法可以是计算集合中的总“张力”,然后随机地抖动所有角度,看看是否会导致较小的张力,并重复可能改进的结果,试图进化出一个可能更好的解决方案。
发布于 2020-12-07 13:13:08
据我所知,你有一堆未知的点(p[]说)和一些方位角的测量,比如π的pj的Azi,j。你想要找到点的坐标。
你需要解决一个问题。这是因为如果p[]的值是一个解--即给定测量的方位角-- q[]也是这样,对于某个固定的x,
q[i] = p[i] + x我想你应该修一下p。
你还需要确定一个距离。这是因为如果p[]是一个解决方案,q[]也是这样,现在对于一些固定的s来说,
q[i] = p[0] + s*(p[i] - p[0])我假设你修正了dist(p,p1),并且存在和方位Az1,2,你最好选择p p1,这样它们之间就有了可靠的方位。然后我们就可以计算p1了。
处理这类问题的通常方法是最小二乘法。也就是说,我们寻求p[]最小化
Sum square( (Az[i,j] - Azimuth( p[i], p[j]))/S[i,j])
where Az[i,j] is your measurement data
Azimuth( r, s) is the function that gives the azimuth of the point s from the point r
S[i,j] is the 'sd' of the measurement A[i,j] -- the higher the sd of a particular observation is, relative to the others, the less it affects the final result.这是一个非线性最小二乘问题。这方面有很多可用的求解者,但一般来说,除了提供数据-- Az[]和S[] --以及观测模型--方位函数--你需要提供状态的初步估计--所寻求的值,在你的例子中是p2。很有可能,如果你的初步估计是错误的,解决者将失败。
找到这个估计值的方法之一是从一个已知点指数的集合K开始,并寻求扩展它。首先,K是{0,1}。然后寻找在K中有尽可能多的方位角的点,这些点从已知的点和方位角几何地估计它们的位置,并把它们加到K中,如果在K的末尾有所有的K点,那么你可以继续到最小二乘法。如果另一对初始不动点不可能做得更好,或者你被卡住了。
后一种情况确实有可能发生。例如,假设有点p,p1,p2,p3和方位A0,1,2,A1,3,A2,3,如上所述,我们确定了p和p1的位置。但是我们无法计算p2和p3的位置,因为我们不知道2或3与1之间的距离。1,2,3三角形可以任意缩放,并且仍然给出相同的方位。
https://stackoverflow.com/questions/65169302
复制相似问题