有人能给我解释一下documentation中的代码吗?
使用周期性x坐标插值:
x = [-180、-170、-185、185、-10、-5、0、365]
Xp = [190,-190,350,-350]
浮点数= [5,10,3,4]
n.插值(x,xp,fp,周期=360)
数组([7.5、5、8.75、6.25、3、3.25、3.5、3.75])
我做过这样的试验
import matplotlib.pyplot as plt
import numpy as np
x = [-180, -170, -185, 185, -10, -5, 0, 365]
xp = [190, -190, 350, -350]
fp = [5, 10, 3, 4]
y=np.interp(x, xp, fp, period=360)
print(x)
print(y)
plt.grid()
plt.plot(xp, fp)
#plt.scatter(x,y,marker="o",color="green")
plt.plot(x,y,'o')
plt.show()
它就像这样
橙子的点怎么能被认为是“插值”呢?我不明白。它们甚至不在曲线上
编辑:感谢Warren Weckesser的详细解释!一个更好地看它的情节
1条答案
按热度按时间wribegjk1#
在
interp
文档字符串中演示period
用法的示例中使用的数字在绘图中可能有点难以解释。周期为360,给定的“已知”点为
请注意,
xp
中的值跨越的区间大于360。我们将区间[0,360)视为插值器的基本域。如果我们将给定点Map到基本域,则它们为:现在,对于周期性插值器,我们可以想象该数据在正方向和负方向上被周期性地扩展,例如
interp
插值的正是该扩展数据。下面的脚本将示例中的数组
x
替换为一个密集点集。有了这个密集点集,y = np.interp(x, xp, fp, period=360)
的绘图应该会更清楚地显示出发生了什么:图中的每个“角”都是
(xp, fp)
的周期性扩展版本中的一个点。