2017-08-29 61 views
0

我有一个关于如何做插值像以下情况下一个问题:插值算法

enter image description here

基本上有两组数据,“o”和“*”。无论如何,其中一个是已知的,而我正试图通过插值来获得另一个。有下列一些假设/条件:

  • P1,P2,P3 ....是位置,P12,P23是持有这些间隔的值。 d1,d2,d3和d12,d23也一样。

  • o*分布在公共轴线(x轴在这种情况下)

  • o*相等间隔地分布。含义

    P2-P1 = P3-P2 = .....

    D2-D1 = D3-D2 = .......

  • 所有位置( p1,p2,p3,... d1,d2,d3 .....)是已知的,其中一个数据值是已知的(例如,p12和p23),另一个是未知的(例如d12和d23 )。

一个例子:

如果P12和P23是已知的,计算D23,D34和D45,我们只需考虑其长度称重到另一个数据集中的每个值的贡献。

enter image description here

我只是想知道,在计算机科学的意义上是有内插的这个特定设置一个高效的算法?我的直觉是因为所有的数据都是等距离分布的,应该有一些简化/加速可以完成?或者任何人都可以指出一种方式,所以我可以做一些文学阅读?非常感谢。

+0

@ btilly是对的。插值从开始说明插值模型。假设你满足于简单的分段线性插值,那么效率和简单性取决于你没有说明的东西。算法运行之前所有数据都可用?如果是这样,数据是否在X轴上排序?如果不是,数据如何提供? X和Y值是连续的还是离散的? – Gene

回答

0

你想要做的是取一组已知点,用它来插值一个函数,然后在另一组点上评估插值函数。

这是一个很大的话题。你可以使用小波算法将你的函数发展成分段线性,分段多项式,傅里叶级数,它们都归结为你认为你想要代表什么样的底层函数。这取决于你的潜在问题。

+0

谢谢你。你读过这篇文章吗?这个例子呢? –

+0

@NickXTsui在找出正确的解决方法之前,你需要确定你想要解决的问题。一旦你已经想出了如何正确解决它,那么你可以担心更快地解决它。然而,线性插值的计算往往非常快,以至于性能不太可能成为瓶颈。 – btilly