Ermitteln des Schnittpunkts einer Kurve mit y==0 mithilfe der linearen Interpolation
In Python können wir ein Diagramm aus gespeicherten Daten erstellen Arrays mithilfe der Matplotlib-Bibliothek. Es kann jedoch eine Herausforderung sein, den genauen y-Achsenwert des Schnittpunkts einer Kurve mit y==0 zu ermitteln.
Um dieses Problem zu beheben, können wir eine lineare Interpolation verwenden, um den Schnittpunkt wie folgt anzunähern:
Implementieren Sie die Lösung: Wir können die Nullstellen oder Nullstellen des Datenarrays mithilfe linearer Interpolation finden:
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)
Wenden Sie die Lösung an:
z = find_roots(gradient(temperature_data), vertical_data)
Ergebnisse grafisch darstellen: Um den Schnittpunkt zu visualisieren, können wir die Datenpunkte grafisch darstellen und den Nulldurchgang mit einer Markierung markieren:
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()
Diese Methode liefert eine Näherung des genauen Schnittpunkts zwischen der Kurve und y==0.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3