gpt4 book ai didi

math - 等距点的三次插值

转载 作者:行者123 更新时间:2023-12-01 16:14:35 25 4
gpt4 key购买 nike

我正在尝试创建点列表的插值。

我有一些坐标点(ti,xi),其中ti是时间戳,而xi是关联的值。我想创建一个通过这些点的函数,并允许我找到与位于间隔中的通用t对应的x值。

我想用三阶插值对它们进行插值。我已经看到过类似catmull-rom插值的方法,但是只有在点xi等距时它才起作用。

例如,在这里http://www.mvps.org/directx/articles/catmull/,您可以发现时间戳记点是等距的,就像这里http://www.cs.cmu.edu/~462/projects/assn2/assn2/catmullRom.pdf一样。

有一些方法可以对非规则点应用三次插值?

最佳答案

只要它们都是不同的,则参数的不等距就不成问题。如您所知,如果您有四个不同的时间t[i],那么将存在一个对应的值x[i]的唯一多项式插值,其度数最多为3(立方或更低阶)。

有两种主要方法可计算插值Newton's divided-differencesLagrange's method of interpolation

请记住,仅找到多项式不是重点,而是在间隔中的其他时间对其进行评估,需要考虑一些编程折衷。

如果t[i]的时间是固定的,但是x[i]的值反复更改,则使用Lagrange的方法可能会很不方便。它基本上构造了四个三次多项式,它们在四个点中的三个处生根,并在剩余点处给出归一化值1。一旦有了这四个多项式,就可以对值x[i]进行插值,只是采用它们的相应线性组合即可。拉格朗日的方法患有Runge's phenomenon at the edges of the interval

但是,如果t[i]的时间不断变化,或者您正在针对相同t[i], x[i]数据的多个中间点评估插值多项式,则Newton's divided differences可能会更好。如果精度很重要,则可以更改t[i]出现在除差表中的顺序,以便将评估集中在最接近需要该值的中间时间的时间处。

在Web上找到牛顿的除数差分法的示例代码并不难。在C++,Python或Java中。

关于math - 等距点的三次插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6250211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com