python - 如何从一组数据点插入单个 ("non-piecewise") 三次样条?

标签 python numpy scipy cubic-spline

我希望从一组数据点生成一个最适合这些点的三次样条函数。

也就是说,寻求获得最适合数据的单个三阶多项式函数 - 而不是分段多项式。 (最终目标是找到该函数二阶导数的最大值)

我已经尝试过scipy.interpolate.CubicSpline ,但它似乎只允许生成分段三次样条。

是否有另一个函数或另一个库可以生成最适合给定数据点的单个三次样条?

背景:数据点来自称重传感器(重量传感器),代表两个相互接触的物理体。目的是拟合立方脊柱以进行数据平滑,然后计算二阶导数的最大值 - 以便找到它们接触的确切时刻 - 尽可能利用给定的传感器。 (如果此方法中发现任何缺陷,欢迎指出)

原始数据: Raw Data Points 由 scipi 生成的分段三次样条 Not Smooth Cubic Spline 期望的结果应该产生如下曲线: Smooth single cubic spline

最佳答案

如果你确实想要一个三次抛物线,你可以使用 numpy.polyfit

如果您需要的是连续的二阶导数,那么您确实需要三次样条,它只不过是连续间隔(因此是分段的)上的三次曲线的集合,它们与二阶导数相匹配。

根据您是否想要插值(完全匹配数据点)或拟合(即您的数据包含信号和一些噪声,并且您想要提取前者),您需要 CubicSpline 或 splrep/BSpline

关于python - 如何从一组数据点插入单个 ("non-piecewise") 三次样条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57533196/

相关文章:

python - 无法在 ubuntu 12.04 上使用 mkl 构建 scipy

python - scipy hierarchy.linkage 和 Bray-Curtis 距离不一致

python - 统计模型 : change variable name/label in the output

python - 从骨架图像计算图形

python-3.x - 对 numpy 的同情导致 AttributeError : 'Symbol' object has no attribute 'cos'

numpy - 具有numpy数组的张量板

python - 在数据框中查找不同日期的差异和标准差

python - BigQuery Python 409 已存在 : Table

java - Python 中的++i 运算符

python - 如何使用 scipy.integrate 获取截断球体的体积?