scipy插值给出无界值

2024-06-28 19:54:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集data[xi,yi,zi]我想绘制(插值)。与插入,一切看起来几乎完美,但是插值生成的值超出了输入数据的界限。例如,假设zi0 < zi < 1约束,rbf插值似乎返回超出边界的插值(例如>1);这里是我的简化尝试:

N=100
data=[xi yi zi]
xis = np.linspace(xi.min(), xi.max(), N)
yis = np.linspace(yi.min(), yi.max(), N)
XI, YI =  np.meshgrid(xis,yis)
rbf = scipy.interpolate.Rbf(xi, yi, zi, function='linear')
ZI=rbf(XI,YI)
print ZI.max()
->1.01357328514

有没有办法把限制传递给Rbf,让它知道不能超过zi.max公司()和子敏() ? 你知道吗


Tags: 数据datanpminmax插值yixi
1条回答
网友
1楼 · 发布于 2024-06-28 19:54:35

径向基函数插值可能会导致数值高于给定数据值的最大值,低于最小值。(Illustration)。这是该方法的一个数学特性,不能传入一个选项来禁用它。两种可能的解决方案:

  • 打印时,使用^{}在数据的最小-最大值之间剪裁插值。你知道吗
  • 使用分段线性插值代替(^{}),这保证了数据值的最小值和最大值。你知道吗

相关问题 更多 >