如何从样条中提取所需x值处的y值。例如**@ x= 0.25**
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import splev, splrep
x = np.linspace(0, 10, 10)
y = np.sin(x)
spl = splrep(x, y)
x2 = np.linspace(0, 10, 5)
y2 = splev(x2, spl)
plt.plot(x, y, 'o', x2, y2)
plt.show()
1条答案
按热度按时间n53p2ov01#
通过调用
splev(x,tck)
,我们已经完成了这一步,它会使用tck
描述的样条函数输出一个数组,其中包含给定x值处的y值(在本例中,x由np.linspace()
给出,tck
是np.splrep()
的输出)。如果你只想知道x= 0.25的值,你可以写
y3=splev(0.25, spl)
。也许你可以看一下文档来了解更多的细节:https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.splev.html