python - python中的分段线性插值函数

标签 python interpolation coefficients

我对编程还很陌生,并认为我会尝试编写一个分段线性插值函数。 (也许这是用 numpy.interp 或 scipy.interpolate.interp1d 完成的)

假设我得到的数据如下:x= [1, 2.5, 3.4, 5.8, 6] y=[2, 4, 5.8, 4.3, 4]

我想设计一个分段插值函数,它将使用 Python 给出 1 到 2.5、2.5 到 3.4 之间的所有线性多项式片段的系数。
当然,matlab 具有执行此操作的 interp1 函数,但我使用的是 python,我想做与 matlab 完全相同的工作,但是 python 只给出值而不是线性多项式系数! (在 matlab 中我们可以用 pp.coefs 得到这个)。
但是如何在 python numpy.interp 中获取 pp.coefs 呢?

最佳答案

您可以使用 polyfit来自 numpy ,它为您提供系数列表,来自给定拟合的最高阶数(这里有两个系数关于您的阶数 1 多项式)。因此,下面将为您提供每个段的系数列表 [1, 2.5] , [2.5, 3.4] , 等等

import numpy as np

x = np.array(x)
y = np.array(y)

[np.polyfit(x[i:(i+2)], y[i:(i+2)],1) for i in range(len(x)-1)]
#[array([ 1.33333333,  0.66666667]), array([ 2., -1.]), array([-0.625,  7.925]), array([ -1.5,  13. ])]

关于python - python中的分段线性插值函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995027/

相关文章:

python - 如何压缩以特定扩展名结尾的文件

python - Windows 上 Python 控制台中的进度条

python - 有没有办法以编程方式停止 web.py?

python - 在Python极坐标中将时间序列数据从一个df插值到另一个df的时间轴

java - 乒乓 Racket 不停地晃动,不停留在一个位置上

python - 特征具有固定系数的多元线性回归

python - 为什么需要学习曲线来确定神经网络是否具有高偏差或方差?

r - 在 lme 模型拟合中提取每个单元的系数及其标准误差

R 多元回归循环和提取系数

python - Pandas 根据不同的列对 NaN 进行插值