如何在 Python 中获得分段线性函数
How to get piecewise linear function in Python
我想从一组点中得到分段线性函数。这是视觉示例:
import matplotlib.pyplot as plt
x = [1,2,7,9,11]
y = [2,5,9,1,11]
plt.plot(x, y)
plt.show()
所以我需要一个函数,它接受两个列表并 return 分段线性函数返回。我不需要回归或任何类型的最小二乘拟合。
我可以试试自己写,不知道有没有已经写好的。到目前为止,我只找到代码 returning 回归
尝试np.interp。它对值进行插值。
这是一个小例子。
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> x = [1,2,7,9,11]
>>> y = [2,5,9,1,11]
>>> np.interp([1.5, 3], x, y)
array([ 3.5, 5.8])
注意事项是确保对于样本点,确保 x 增加。
我想从一组点中得到分段线性函数。这是视觉示例:
import matplotlib.pyplot as plt
x = [1,2,7,9,11]
y = [2,5,9,1,11]
plt.plot(x, y)
plt.show()
所以我需要一个函数,它接受两个列表并 return 分段线性函数返回。我不需要回归或任何类型的最小二乘拟合。
我可以试试自己写,不知道有没有已经写好的。到目前为止,我只找到代码 returning 回归
尝试np.interp。它对值进行插值。
这是一个小例子。
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> x = [1,2,7,9,11]
>>> y = [2,5,9,1,11]
>>> np.interp([1.5, 3], x, y)
array([ 3.5, 5.8])
注意事项是确保对于样本点,确保 x 增加。