如何限制此一元样条,使梯度严格为正?

问题描述 投票:0回答:1

我有多组数据要在Scipy中拟合单变量样条:

spl = UnivariateSpline(x, y)
domain = np.linspace(min(x), max(x)), 10000)
plt.scatter(x, y, c='r', marker='x')
plt.plot(domain, spl(domain), 'b-')

这是一个“嘈杂的”示例集,其y的趋势必须随x增加,但不是样条曲线所返回的(参见下文)。

是否有一种方法可以评估此​​样条使其梯度始终为正?这将非常有帮助。

Red points: data, Blue curve: output of spline

python scipy constraints interpolation spline
1个回答
0
投票

不是开箱即用。

FITPACK,UnivariateSpline包装的fortran库,具有一些受约束的样条拟合,但未在python级别公开。如果确实要包装它,请考虑发送拉取请求。

© www.soinside.com 2019 - 2024. All rights reserved.