【问题标题】:Interpolation algorithm插值算法
【发布时间】:2017-08-30 00:55:41
【问题描述】:

我有一个关于如何进行插值的问题,如下例:

基本上有两组数据,“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,我们只需考虑按长度加权的每个值对其他数据集的贡献。

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

【问题讨论】:

  • @btilly 是对的。插值首先说明插值模型。假设您对简单的分段线性插值感到满意,那么效率和简单性取决于您未说明的内容。在算法运行之前是否所有数据都可用?如果是这样,数据是否在 X 轴上排序?如果没有,数据是如何提供的? X 和 Y 值是连续的还是离散的?

标签: algorithm interpolation


【解决方案1】:

您要做的是获取一组已知点,使用它来插值函数,然后在另一组点处评估该插值函数。

这是一个很大的话题。您可以使用小波算法将您的函数开发为分段线性、分段多项式、傅里叶级数......这一切都归结为您认为您试图表示的底层函数类型。这取决于您的根本问题。

【讨论】:

  • 谢谢btilly。你读过整篇文章吗?例子怎么样?
  • @NickXTsui 在弄清楚如何正确解决问题之前,您需要确定要解决的问题。一旦你弄清楚如何正确解决它,你就可以担心更快地解决它。然而,线性插值的计算速度往往很快,因此性能不太可能成为瓶颈。
猜你喜欢
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 2010-12-05
  • 2018-03-24
  • 1970-01-01
相关资源
最近更新 更多