Wie finde ich den Schnittpunkt einer Kurve mit y==0 mithilfe der linearen Interpolation in Python?

Barbara Streisand
Freigeben: 2024-10-21 07:08:30
Original
721 Leute haben es durchsucht

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

Ermitteln des Schnittpunkts einer Kurve mit y==0 mithilfe der linearen Interpolation

In Python können wir ein Diagramm aus in gespeicherten Daten erstellen Arrays mithilfe der Matplotlib-Bibliothek. Es kann jedoch eine Herausforderung sein, den genauen y-Achsenwert des Schnittpunkts einer Kurve mit y==0 zu ermitteln.

Um dieses Problem zu beheben, können wir eine lineare Interpolation verwenden, um den Schnittpunkt wie folgt anzunähern:

  1. Definieren Sie das Problem: Bei gegebenen Arrays mit Datenpunkten „Gradient(temperature_data)“ und „vertikal_data“ müssen wir den Wert auf der y-Achse bestimmen, wo die Kurve y==0 schneidet.
  2. Implementieren Sie die Lösung:Wir können die Wurzeln oder Nullstellen des Datenarrays mithilfe linearer Interpolation finden:

    <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>
    Nach dem Login kopieren
  3. Anwenden die Lösung:

    <code class="python">z = find_roots(gradient(temperature_data), vertical_data)</code>
    Nach dem Login kopieren
  4. Ergebnisse grafisch darstellen: Um den Schnittpunkt zu visualisieren, können wir die Datenpunkte grafisch darstellen und den Nulldurchgang mit a markieren 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>
    Nach dem Login kopieren

Diese Methode liefert eine Näherung des genauen Schnittpunkts zwischen der Kurve und y==0.

Das obige ist der detaillierte Inhalt vonWie finde ich den Schnittpunkt einer Kurve mit y==0 mithilfe der linearen Interpolation in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage