【发布时间】:2020-04-06 09:45:23
【问题描述】:
给定一组 2D 点,我想用给定数量的内部节点将最优样条拟合到该数据。
我看到我们可以使用 scipy 的LSQUnivariateSpline 来指定结的数量和位置,但是它不允许我们仅指定结的数量.
从UnivariateSpline 文档中,似乎暗示他们有一种方法可以用给定的节数拟合样条曲线,正如平滑因子s 状态的文档(强调我的):
用于选择结数的正平滑因子。 编号 结的数量将增加,直到满足平滑条件...
因此,虽然我可以以一种向后的方式进行此操作并搜索平滑因子,直到它产生具有所需结数的样条曲线,但从计算效率的角度来看,这似乎是一种相当荒谬的方法。发生了两个额外的搜索步骤,只是为了相互抵消并获得在开始时已经直接计算的结果。
我已经四处搜索,但没有找到一个函数来直接访问这个具有给定结数的样条插值。我不确定我是否遗漏了一些简单的东西,或者它是否隐藏在某个地方的更深处和/或在 API 中不可用。
注意:不需要 scipy 解决方案,任何 python 库或手工编写的 python 代码都可以(我在这里使用 scipy 只是因为我在 python 中关于样条插值的所有搜索都让我找到了)。
【问题讨论】:
-
你能提供一个minimal, reproducible example来解决这个问题吗?
-
@Patol75 这是插值样条,在数据点处有结