Encontrando a interseção de uma curva com y==0 usando interpolação linear
Em Python, podemos criar um gráfico a partir de dados armazenados em matrizes usando a biblioteca matplotlib. No entanto, obter o valor exato do eixo y da interseção de uma curva com y==0 pode ser um desafio.
Para resolver isso, podemos empregar interpolação linear para aproximar o ponto de interseção, como segue:
Implemente a solução: Podemos encontrar as raízes ou zeros da matriz de dados usando interpolação linear:
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)
Aplique a solução:
z = find_roots(gradient(temperature_data), vertical_data)
Planeje os resultados: Para visualizar a interseção, podemos plotar os pontos de dados e marcar o cruzamento zero com um marcador:
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()
Este método fornece uma aproximação do ponto de interseção exato entre a curva e y==0.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3