python中csaps和ppval的等价物

时间:2014-04-01 12:39:16

标签: python matlab numpy

我尝试使用 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?

有什么想法吗?提前谢谢!

1 个答案:

答案 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])

如您在上文正确所述