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

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

Barbara Streisand
Barbara Streisand원래의
2024-10-21 07:08:30648검색

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을 찾을 수 있습니다.

    <code class="python">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)</code>
  3. 적용 해결책:

    <code class="python">z = find_roots(gradient(temperature_data), vertical_data)</code>
  4. 결과 도표화: 교차점을 시각화하기 위해 데이터 포인트를 도표화하고 제로 크로싱을 marker:

    <code class="python">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()</code>

이 방법은 곡선과 y==0 사이의 정확한 교차점에 대한 근사치를 제공합니다.

위 내용은 Python에서 선형 보간법을 사용하여 y==0인 곡선의 교차점을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.