Python で線形補間を使用して y==0 の曲線の交点を見つける方法

Barbara Streisand
リリース: 2024-10-21 07:08:30
オリジナル
722 人が閲覧しました

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

線形補間を使用して y==0 の曲線の交点を見つける

Python では、次の形式で保存されたデータからプロットを作成できます。 matplotlib ライブラリを使用した配列。ただし、y==0 の曲線の交点の正確な y 軸値を取得するのは困難な場合があります。

これに対処するには、次のように線形補間を使用して交点を近似します。

  1. 問題を定義します: データ ポイント gradient(温度データ) と垂直データを含む配列を指定すると、曲線が y==0 と交差する y 軸の値を決定する必要があります。
  2. 解決策を実装します: 線形補間を使用してデータ配列のルートまたはゼロを見つけることができます:

    <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. 結果のプロット: 交差を視覚化するには、データ点をプロットし、ゼロクロッシングをマークします。マーカー:

    <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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート