"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 선형 보간법을 사용하여 y==0인 곡선의 교차점을 찾는 방법은 무엇입니까?

Python에서 선형 보간법을 사용하여 y==0인 곡선의 교차점을 찾는 방법은 무엇입니까?

2024년 11월 10일에 게시됨
검색:205

How to Find the Intersection of a Curve with y==0 Using Linear Interpolation in Python?

선형 보간을 사용하여 y==0인 곡선의 교차점 찾기

Python에서는 다음에 저장된 데이터로부터 플롯을 생성할 수 있습니다. matplotlib 라이브러리를 사용한 배열. 그러나 y==0인 곡선 교차점의 정확한 y축 값을 얻는 것은 어려울 수 있습니다.

이 문제를 해결하기 위해 선형 보간법을 사용하여 다음과 같이 교차점을 근사화할 수 있습니다.

  1. 문제 정의: 데이터 포인트 그래디언트(온도_데이터) 및 수직_데이터를 포함하는 배열이 주어지면 곡선이 y==0과 교차하는 y축의 값을 결정해야 합니다.
  2. 솔루션 구현: 선형 보간법을 사용하여 데이터 배열의 근 또는 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)
  3. 솔루션 적용:

    z = find_roots(gradient(temperature_data), vertical_data)
  4. 결과를 플롯합니다. 교차점을 시각화하기 위해 데이터 포인트를 플롯하고 마커를 사용하여 제로 크로싱을 표시할 수 있습니다.

    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 사이의 정확한 교차점에 대한 근사치를 제공합니다.

릴리스 선언문 이 글은 1729465637에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3