Нахождение пересечения кривой с y==0 с использованием линейной интерполяции
В Python мы можем построить график на основе данных, хранящихся в массивы с использованием библиотеки matplotlib. Однако получение точного значения оси Y пересечения кривой с y==0 может оказаться сложной задачей.
Чтобы решить эту проблему, мы можем использовать линейную интерполяцию для аппроксимации точки пересечения следующим образом:
Реализовать решение: Мы можем найти корни или нули массива данных, используя линейную интерполяцию:
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)
Постройте результаты: Чтобы визуализировать пересечение, мы можем нанести на график точки данных и отметить пересечение нуля маркером:
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