【问题标题】:Arbitrary sampling over an interpolation插值上的任意采样
【发布时间】:2013-02-19 15:59:35
【问题描述】:

我有任意点(8192,4678,1087.2,600,230.4 等),我想在其他定义点(100,500.3,802,2045,4399.5125 等)进行插值和重新采样。

我尝试了三次样条插值,但它使用的是稳定步进采样,并且根据步进采样,它可能无法生成我需要的值。

你会怎么做?

【问题讨论】:

  • 带样条。你得到了你不想要的东西,只是说你不正确地使用了样条线,或者你不知道如何使用那个功能,或者你只是使用了一个写得不好的样条线工具。您也没有很好地解释问题。
  • 我假设您有 xy 值,并且想要为定义的 x 集估计新的 y 值。这是正确的吗?

标签: matlab interpolation spline cubic


【解决方案1】:

如果您的点是 x1=[...]y1=[...],并且您想要评估样条曲线的新基 x2=[...],那么您

y2 = spline(x1,y1,x2)

** 示例**

x1 = [0,2,4,6,8].'
y1 = [24,25,22,14,6].'

x2 = [2,2.5,3,3.5,4].'
y2 = spline(x1,y1,x2)

    y2 =

       25.0000
       24.7227
       24.1563
       23.2617
       22.0000

【讨论】:

    【解决方案2】:

    这一切都取决于潜在的物理现象。插值和弥补东西之间有一条细线。

    • 我可能会先upsamplefilter,直到我以固定采样率获得有意义的信号。

    • 然后我会使用一些插值方法来估计目标点的信号。

    【讨论】:

      【解决方案3】:

      我建议您考虑向后执行此操作。

      与其生成大量点并希望您需要的点在那里,不如计算插值公式(可能是分段线性或更复杂的东西)并在所需点处评估函数。

      假设您有 x = [1 2 3 4 10]y = [11 22 13 24 11] 在第 6 点的线性插值将是:

      24+(6-4) * (11-24) / (10-4) 
      

      概括这一点应该不难。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-01
        • 2017-06-06
        • 1970-01-01
        • 1970-01-01
        • 2019-04-12
        • 2023-03-06
        • 2013-07-25
        • 2016-02-11
        相关资源
        最近更新 更多