我尝试使用 numpy 和 scipy 将一些 matlab 代码转换为python。
这是matlab代码:
pp=csaps(Data(:,1),Data(:,2),0.9999);
new_data= ppval(pp,Data(:,1));
在python中,我用pywafo库中的csaps
函数替换SmoothSpline
。但我无法找到任何替换ppval
的功能。
这是当前的python代码:
pp = SmoothSpline(Data[0], Data[1], 0.9999)
new_data = pp(Data[0]) # should use ppval?
有什么想法吗?提前谢谢!
答案 0 :(得分:0)
我没有使用pywafo库中的SmoothSpline,但我使用了Scipy中的UnivariateSpline。 这是Scipy Spline
中的一个最小工作示例from scipy.interpolate import UnivariateSpline
x = np.linspace(0, 10, 70)
y = np.sin(x)
spl = UnivariateSpline(x, y, k=4, s=0)
您可以按如下方式获得分段多项式函数MATLAB“ ppval”的值
spl(Data[0])
如您在上文正确所述