等效于python中的csaps和ppval [英] Equivalent of csaps and ppval in python
问题描述
我正在尝试使用 numpy 和 scipy 将一些 matlab 代码转换为python.
I'm trying to convert some matlab code into python using numpy and scipy.
这是matlab代码:
Here is the matlab code :
pp=csaps(Data(:,1),Data(:,2),0.9999);
new_data= ppval(pp,Data(:,1));
在python中,我从SmoothSpline函数替换了csaps
="nofollow"> pywafo 库.但是我找不到替换ppval
的任何函数.
In python, I replace csaps
by the SmoothSpline
function from pywafo library. But I'm not able to find any function to replace ppval
.
这是当前的python代码:
Here is the current python code:
pp = SmoothSpline(Data[0], Data[1], 0.9999)
new_data = pp(Data[0]) # should use ppval?
有什么主意吗?预先感谢!
Any idea? Thanks in advance!
推荐答案
我没有使用pywafo库中的SmoothSpline,但我使用了Scipy中的UnivariateSpline. 这是来自 Scipy样条
I havent used SmoothSpline from pywafo library but i have used UnivariateSpline from Scipy. Here is a minimal working example from 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"的值
you can obtain the value of the piecewise polynomial function MATLAB "ppval" as follows
spl(Data[0])
正如您在上文中正确指出的那样
as you have rightly stated above
这篇关于等效于python中的csaps和ppval的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!