我试图找到我的数据通过某个临界值(例如,通过零)的点,我想在数值上近似该临界值的发生位置。对于一种情况,我可以“手工”完成,但需要概括一下,以便可以对所有数据快速重复该过程数十次。
我曾经考虑过使用scipy.optimize
,但我使用的是不遵循可用于调用fsolve
的解析函数的真实离散数据。
这是一些代码和一个pyplot图片,显示了我的意思。如果这是我的数据,我想估计红色圆圈的发生位置,因为知道它不会直接出现在离散点的顶部。
x = np.arange(0, 2,.2)
f = 3-x**2-x
plt.scatter(x,f,marker='v')
plt.plot(x,f)
plt.hlines(0,0,2)
plt.scatter(1.3,0,color='r',zorder=10)