如何实现线性插值?

如何实现线性插值?,第1张

如何实现线性插值?

据我了解您的问题,您想编写一些函数

y = interpolate(x_values, y_values,x)
,这将给您带来
y
一些价值
x
?然后,基本思路如下:

  1. 查找
    x_values
    定义了包含的间隔的值的索引
    x
    。例如,对于
    x=3
    您的示例列表,包含间隔为
    [x1,x2]=[2.5,3.4]
    ,索引为
    i1=1
    i2=2
  2. (y_values[i2]-y_values[i1])/(x_values[i2]-x_values[i1])
    (即
    dy/dx
    )计算该间隔的斜率
  3. 的值在
    x
    是现在值
    x1
    加上斜率乘以从距离
    x1

您还需要确定如果

x
在的间隔之外,会发生什么情况
x_values
,要么是错误的,要么可以向内插“向后”,前提是斜率与第一个/最后一个间隔相同。

这是有帮助的,还是您需要更具体的建议?



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5643794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存