我使用^{
但现在我想把原始的数据保存在Python中(现在我想用Matlab来保存这些数据)。我该怎么做?在
在scipy中,我不知道;UnivariateSpline似乎并没有提供一个具有先前计算的结和系数的构造函数。在
在MATLAB中,我尝试了MATLAB函数^{pchip()
,虽然这两个函数很接近,但它们在端点附近有一些类似于Gibbs ears的错误。在
下面是一组样本数据,以Matlab格式:
splinedata = struct('coeffs',[-0.0412739180955273 -0.0236463479425733 0.42393753107602 -1.27274336116436 0.255711720888164 1.93923263846732 -2.30438927604816 1.02078680231079 0.997156858475075 -2.35321792387215 0.667027554745454 0.777918416623834],...
'knots',[0 0.125 0.1875 0.25 0.375 0.5 0.625 0.75 0.875 0.9999],...
'y',[-0.0412739180955273 -0.191354308450615 -0.869601364377744 -0.141538578624065 0.895258135865578 -1.04292294390242 0.462652465278345 0.442550440125204 -1.03967756446455 0.777918416623834])
系数和结是在scipy单变量pline上调用get_coeffs()
和{
其中f是我的单变量线。在
如何使用这些数据生成与单变量样条线行为相匹配的样条曲线,而不必使用曲线拟合工具箱?我不需要在Matlab中做任何数据拟合,我只需要知道如何从结/系数/样条值构造三次样条曲线。在
在scipy中,尝试scipy.interpolate.splev,这需要
添加:以下python类创建样条函数: init with(knots,coefs,degree)初始化, 然后像使用
UnivariateSpline( x, y, s )
创建的样条函数一样使用它:可以通过使用类}中的函数
_eval_args()
和{_eval_args()
来实现。第一个参数返回样条线参数,您可以存储这些参数,然后使用第二个参数创建类似的样条线对象。在下面是一个例子:
相关问题 更多 >
编程相关推荐