Trouver l'intersection d'une courbe avec y==0 à l'aide de l'interpolation linéaire
En Python, nous pouvons créer un tracé à partir de données stockées dans tableaux en utilisant la bibliothèque matplotlib. Cependant, obtenir la valeur exacte sur l'axe Y de l'intersection d'une courbe avec y==0 peut s'avérer difficile.
Pour résoudre ce problème, nous pouvons utiliser l'interpolation linéaire pour approximer le point d'intersection, comme suit :
Implémentez la solution : Nous pouvons trouver les racines ou les zéros du tableau de données en utilisant l'interpolation linéaire :
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)
Appliquez la solution :
z = find_roots(gradient(temperature_data), vertical_data)
Tracer les résultats : Pour visualiser l'intersection, nous pouvons tracer les points de données et marquer le passage à zéro avec un marqueur :
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()
Cette méthode fournit une approximation du point d'intersection exact entre la courbe et y==0.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3