使用線性插值求曲線與y==0 的交點
在Python 中,我們可以根據儲存在中的資料建立繪圖使用matplotlib 函式庫的數組。然而,獲得曲線與 y==0 交點的精確 y 軸值可能具有挑戰性。
為了解決這個問題,我們可以採用線性插值來近似交點,如下所示:
實現解決方案:我們可以使用線性插值找到資料數組的根或零點:
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)
應用解決方案:
z = find_roots(gradient(temperature_data), vertical_data)
z = find_roots(gradient(Temperature_data), Vertical_data)
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()
繪製結果:此方法提供了曲線與 y==0 之間精確交點的近似值。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3