Python中csaps和ppval的等价物

1 投票
1 回答
1897 浏览
提问于 2025-04-18 00:50

我正在尝试把一些matlab代码转换成用numpyscipy写的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])

正如你上面所说的那样

撰写回答