numpy - 从插值曲线获取值

numpy - Get values from interpolated curve

我使用 作为基础,对 14 个点的数据集进行三次插值。现在,如何从该插值曲线中获得任何给定 X 值(在有意义的范围内)的 Y 值?

查看情节的 yDatamodelPredictions,它们只包含一些要点:

yModel:
[ 1.15782001 -0.28222724 -1.2323253  -1.74439018 -1.86822111 -1.65150054
-1.13979412 -0.37655073  0.59689757  1.74133546  3.01966445  4.39690281
5.84018563  7.31876474  8.80400881 10.26940325 11.69055029 13.04516893
14.31309498 15.476281   16.51879637 17.42682725 18.18867658 18.79476409
19.2376263  19.51191652 19.61440484 19.54397815 19.30164012 18.89051119
18.31582862 17.58494644 16.70733547 15.69458331 14.56039437 13.32058981
11.99310762 10.59800255  9.15744614  7.69572673  6.23924944  4.81653617
3.45822563  2.19707328  1.06795141  0.10784907 -0.6441279  -1.14675686
-1.35669839 -1.22849628]

modelPredictions:
[ 1.15782001 -1.86995241  0.03116542  4.63071161 10.10425433 15.03339189
18.40575265 19.61499511 18.46080785 15.14890953 10.29104893  4.90500491
0.41458645 -1.22849628]

都没有给我足够的粒度来获得所需的值,更不用说获得任何数据点的精确值了。我想很容易从插值模型中得到它,但没找到方法。

引用已发布的链接回答行

modelPredictions = numpy.polyval(fittedParameters, xData)

你可以随心所欲地改变 xData,就像这样

needed_x_points = [10,20,30,40,50]
modelPredictions = numpy.polyval(fittedParameters, needed_x_points)
plt.scatter(needed_x_points,modelPredictions)
plt.show()

它会起作用。

注意 matplotlib.plot 用一条线连接绘制的点,这基本上是在它们之间进行线性插值,因此请确保使用适当的散点图进行绘图。