scipy 如何在所需的x值处找到插值样条的y值?

ecfdbz9o  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(142)

如何从样条中提取所需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()

n53p2ov0

n53p2ov01#

通过调用splev(x,tck),我们已经完成了这一步,它会使用tck描述的样条函数输出一个数组,其中包含给定x值处的y值(在本例中,x由np.linspace()给出,tcknp.splrep()的输出)。
如果你只想知道x= 0.25的值,你可以写y3=splev(0.25, spl)。也许你可以看一下文档来了解更多的细节:https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.splev.html

相关问题