给定一系列点怎样拟合或插值出一条曲线!!!!

时间:2022-12-21 03:48:28
给定一系列点怎样拟合或插值出一条平滑曲线,要求平滑曲线过所有的点,如果能适应于闭合曲线最好!看了很多的算法一般拟合算法不能过所有的点。大家指点一下,最好能够有原程序。谢谢了

12 个解决方案

#1


楼主说的这个问题不应该叫拟合,只要是拟合就不可能再过原来的所有点了。
你应该找找画什么样的曲线更符合你的实际情况,也就是说在你现有点的每两点之间画曲线,这样就过所有点了。只是看中间的曲线怎么画了,这个要根据实际情况来定。

#2


用插值就能过原来的点了,譬如三次样条插值曲线。

#3


可以用B样条曲线拟合,然后反求所有控制顶点,就能达到你所要求的目标.

#4


反求算法在很多计算机图形学书籍上都有,就是用追赶法求解.
先去研究一下吧,若解决不了再来找我,我给你代码

#5


如果要求曲线经过所有的插值点,那就用多项式法进行拟合,如果拟合是动态的,需要自己用程序写,如果拟合是静态的话可以用matlab软件拟合出方程之后在程序里用

#6


能否直接用反距离插值?
已知 x(i),y(i),  求x(t)

 x(t)=Σ(1/fabs(t-i))*x(i)(i= 0....N) 
 y(t)=Σ(1/fabs(t-i))*y(i)(i= 0....N) 

#7


刚才忘记了 前面还得乘上一个系数
保证加权之后的单位不变 

#8


插值算法

#9


你可以应最小二乘渐次逼近算法实现,调用Matalb

#10


谢谢大家的指点,我用了liuchaotao说得方法,大体可以实现,但是在有些地方过度的不是很好,尤其是在已知点比较密的地方。大家有没有方法可以消除这种现象。下面是打结的地方,大家想想有什么方法可以消除。
谢谢了。[img=D:\1][/img]

#11


我也需要,看看

#12


引用 10 楼 chyhrlove 的回复:
谢谢大家的指点,我用了liuchaotao说得方法,大体可以实现,但是在有些地方过度的不是很好,尤其是在已知点比较密的地方。大家有没有方法可以消除这种现象。下面是打结的地方,大家想想有什么方法可以消除。
谢谢了。


某些区域过密, 可先进先抽稀, 再拟合. 交流请发至: soarf@163.com

#1


楼主说的这个问题不应该叫拟合,只要是拟合就不可能再过原来的所有点了。
你应该找找画什么样的曲线更符合你的实际情况,也就是说在你现有点的每两点之间画曲线,这样就过所有点了。只是看中间的曲线怎么画了,这个要根据实际情况来定。

#2


用插值就能过原来的点了,譬如三次样条插值曲线。

#3


可以用B样条曲线拟合,然后反求所有控制顶点,就能达到你所要求的目标.

#4


反求算法在很多计算机图形学书籍上都有,就是用追赶法求解.
先去研究一下吧,若解决不了再来找我,我给你代码

#5


如果要求曲线经过所有的插值点,那就用多项式法进行拟合,如果拟合是动态的,需要自己用程序写,如果拟合是静态的话可以用matlab软件拟合出方程之后在程序里用

#6


能否直接用反距离插值?
已知 x(i),y(i),  求x(t)

 x(t)=Σ(1/fabs(t-i))*x(i)(i= 0....N) 
 y(t)=Σ(1/fabs(t-i))*y(i)(i= 0....N) 

#7


刚才忘记了 前面还得乘上一个系数
保证加权之后的单位不变 

#8


插值算法

#9


你可以应最小二乘渐次逼近算法实现,调用Matalb

#10


谢谢大家的指点,我用了liuchaotao说得方法,大体可以实现,但是在有些地方过度的不是很好,尤其是在已知点比较密的地方。大家有没有方法可以消除这种现象。下面是打结的地方,大家想想有什么方法可以消除。
谢谢了。[img=D:\1][/img]

#11


我也需要,看看

#12


引用 10 楼 chyhrlove 的回复:
谢谢大家的指点,我用了liuchaotao说得方法,大体可以实现,但是在有些地方过度的不是很好,尤其是在已知点比较密的地方。大家有没有方法可以消除这种现象。下面是打结的地方,大家想想有什么方法可以消除。
谢谢了。


某些区域过密, 可先进先抽稀, 再拟合. 交流请发至: soarf@163.com