Python中csaps和ppval的等价物
我正在尝试把一些matlab代码转换成用numpy和scipy写的python代码。
这是matlab的代码:
pp=csaps(Data(:,1),Data(:,2),0.9999);
new_data= ppval(pp,Data(:,1));
在python中,我用pywafo库里的SmoothSpline
函数替代了csaps
。但是我找不到可以替代ppval
的函数。
这是我现在的python代码:
pp = SmoothSpline(Data[0], Data[1], 0.9999)
new_data = pp(Data[0]) # should use ppval?
有什么想法吗?提前谢谢你!
1 个回答
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])
正如你上面所说的那样