目录
解题思路
一:题目
3已知f(x)在1,3,5,7处的函数值为1,8,10,3,求f(4)的值
二:思路
通过给定的数据构造函数来预测f(4)的值,又因为数据过少离散化严重,4的值在函数的内部且过(x,y)后得到的函数与值更接近,故使用一维插值interpld(x,y,kind='linear'),而不是拟合
从图分析,使用一阶函数作为样条更接近函数值,故linear=slinear,使用一阶函数去过点效果更接近真实值。
开发环境
vscode py3.9
代码及效果
一:代码
代码示例:
import numpy as np
from scipy.interpolate import interp1d
import pylab as plt
x=np.array([1,3,5,7])
y=np.array([1,8,10,3])
f1=interp1d(x,y,'slinear')
plt.plot(x,y)
plt.plot([4,4],[0,10],'--k')
plt.show()
print(f1)
print(f1(4),'f1(4)')
二:效果
效果
9.0 =f1(4)符合图像的预测值,以上假设成立
由于使用一阶方程作为样条,过每2个点之间,故原理如下