我在[1,2,3,4,5]
上有x-axis
个数据点,在y-axis
上有[10,15,10,10,20]
的相应值,如y-axis
。
通常可以通过给定x-axis
个数据点找到y=f(x)
的值点
就像interpolation
一样,我检查了这一点,我们可以使用numpy
通过12
来实现这一点。但是我没有找到如何通过给定的y轴值插入x轴...每个附加的屏幕我想找到行[1, 1.x, 2, 2.x, 3, 4, 4.x, 5, 5.x]
交叉的相应x轴值。
所以我期待x-axis
.wit
上的结果axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
答案 0 :(得分:2)
如果是平滑曲线,您可以使用InterpolatedUnivariateSpline
import numpy as np
from scipy import interpolate
x = np.linspace(0, 20, 100)
y = np.sin(x + 0.1)
y0 = 0.3
spline = interpolate.InterpolatedUnivariateSpline(x, y - y0)
xp = spline.roots()
这是情节:
pl.plot(x, y)
pl.axhline(0.3, color="black", linestyle="dashed")
pl.vlines(xp, 0, 0.3, color="gray", linestyle="dotted")
如果你想要线性插值:
x = np.linspace(0, 20, 20)
y = np.sin(x + 0.1)
y0 = 0.3
y_offset = y - y0
pos = np.where((y_offset[1:] * y_offset[:-1]) <= 0)[0]
x1 = x[pos]
x2 = x[pos+1]
y1 = y[pos]
y2 = y[pos+1]
xp = (y0 - y1) / (y2 - y1) * (x2 - x1) + x1
答案 1 :(得分:0)
如果您更改interp1d(x,y)
的{{1}},则表示x是y的函数。
请注意,如果f(x)不唯一,则可能会出现意外或未定义的行为。