【发布时间】:2017-09-18 03:30:19
【问题描述】:
我有一个数据集data[xi,yi,zi] 我想绘制(带有插值)。使用 scipy.interpolate,一切看起来都近乎完美,但是插值生成的一些值超出了输入数据的范围。例如假设zi 被0 < 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() 和 zi.min() ?
【问题讨论】:
-
你能提供一个可重现的例子吗?
data=[xi yi zi]没有帮助 -
抱歉,发完帖就去睡觉了。您的以下解决方案效果很好@Michelle,谢谢。
标签: python numpy matplotlib scipy