线性插值公式的有界性

问题描述 投票:0回答:1

考虑以下线性插值的实现:

lerp(x1, x2, y1, y2, x) = y1 * (x - x2) / (x1 - x2) + y2 * (x - x1) / (x2 - x1)

假设 IEEE 754 浮点运算,

x1 <= x <= x2
是否意味着
y1 <= lerp(x1, x2, y1, y2, x) <= y2
?如果没有的话可以举个反例吗

floating-point
1个回答
0
投票

不。使用 IEEE-754 二进制 32,

x1
= 1.00000216,
x
= 1.00000416
x2
= 1.00002816,
y1
= 1.00000816,并且
y2
= 1.00000A16 产生线性插值结果 1.00000616,小于
y1

© www.soinside.com 2019 - 2024. All rights reserved.