二维曲线近似

这里是我想要做的(最好用Matlab):

基本上我有几个汽车在交叉路口行驶的痕迹。 每一个都是嘈杂的,所以我想在所有的测量上取得平均值以更好地逼近真实路线。 换句话说,我正在寻找一种方法来逼近曲线,曲线对所有测量的曲线(最小方差)具有最小的误差。

乍一看,这与CurveFitting Toolbox的spap2可以实现的功能非常相似(这里的Least-Squares Approximation部分是一个很好的例子)。 但是这个算法有一个主要的缺点:它假定一个函数(每个x只有一个y(x)),但是我想要的是2d中的曲线(对于一个x可能有几个y(x))。 当汽车向右或向左旋转超过90度时,这会导致问题。 此外,它需要垂直偏移而不是垂直偏移(根据wolfram的定义)。

有没有人有一个想法如何解决这个问题? 我想过使用B样条并改变结的数量和程度,直到达到一定的拟合质量,但我找不到解决这个问题的办法,或者使用CurveFitting Toolbox提供的功能来解决这个问题。 没有数字优化解决这个问题的方法吗?


mbeckish是对的。 为了在曲线形状中获得足够的灵活性,您必须使用参数曲线表示(x(t),y(t))而不是显式表示y(x)。 参见参数方程。

给定曲线上n个连续的点,如果你知道它们,给它们指定真正的时间,或者如果你不知道,则给它们0..n-1。 然后用向量T,X和T,Y调用spap2两次,而不是X,Y.现在对于任意的t,你在曲线上得到一个点(x,y)。

这不会给你一个真正的最小二乘解决方案,但应该足够满足你的需求。

链接地址: http://www.djcxy.com/p/60869.html

上一篇: Two Dimensional Curve Approximation

下一篇: Variable radius Gaussian blur, approximating the kernel