使用线性插值查找曲线与 y==0 的交点
在 Python 中,我们可以根据存储在中的数据创建绘图使用 matplotlib 库的数组。然而,获得曲线与 y==0 交点的精确 y 轴值可能具有挑战性。
为了解决这个问题,我们可以采用线性插值来近似交点,如下所示:
实现解决方案:我们可以使用线性插值找到数据数组的根或零点:
<code class="python">import numpy as np def find_roots(x, y): s = np.abs(np.diff(np.sign(y))).astype(bool) return x[:-1][s] + np.diff(x)[s]/(np.abs(y[1:][s]/y[:-1][s])+1)</code>
应用解决方案:
<code class="python">z = find_roots(gradient(temperature_data), vertical_data)</code>
绘制结果:为了可视化交点,我们可以绘制数据点并用标记:
<code class="python">import matplotlib.pyplot as plt plt.plot(gradient(temperature_data), vertical_data) plt.plot(z, np.zeros(len(z)), marker="o", ls="", ms=4) plt.show()</code>
此方法提供曲线与 y==0 之间的精确交点的近似值。
以上是如何在 Python 中使用线性插值求 y==0 曲线的交点?的详细内容。更多信息请关注PHP中文网其他相关文章!