Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Änderungsrate und Steigung

Nach dieser Lektion: Ich kann aus Zahlen schätzen, wie schnell sich etwas an einer Stelle ändert.

Lektion, 55 Min.3 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Wie schnell lädt ein Download gerade?

Die Änderungsrate sagt, wie schnell sich eine Größe ändert, etwa Megabyte pro Sekunde bei einem Download. Wer sie aus Messwerten schätzen kann, sieht, ob etwas schneller oder langsamer wird.

Ein Dateimanager zeigt Ihnen nur, wie viele Megabyte schon da sind. Die Geschwindigkeit zu einem Zeitpunkt müssen Sie selbst aus zwei Messwerten schätzen.

Am Ende dieser Lektion

Notiz

Ich kann aus Zahlen schätzen, wie schnell sich etwas an einer Stelle ändert.

Schlüsselwörter

BegriffWas er bedeutet
Änderungsratewie stark sich ein Wert pro Schritt ändert
Steigungdie Änderungsrate einer Geraden
Differenzenquotientder Unterschied der Werte geteilt durch den Unterschied der Stellen
Schrittweiteder kleine Abstand h zwischen zwei Stellen
Ableitungdie Änderungsrate an einer einzelnen Stelle

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Änderungsrate heißt: Unterschied geteilt durch Unterschied

Die Änderungsrate vergleicht zwei Messungen. Sie teilen, um wie viel sich der Wert geändert hat, durch die Zeit, die dafür verging.

Bei einer geraden Linie ist diese Zahl überall gleich. Sie heißt dann Steigung. Bei einer Kurve hängt die Zahl davon ab, welche zwei Punkte Sie wählen.

Beispiel: ein Download, gemessen alle 2 Sekunden

SekundeGeladene MegabyteZuwachs seit der letzten MessungRate in Megabyte pro Sekunde
00
2444 geteilt durch 2 = 2
4161212 geteilt durch 2 = 6
6362020 geteilt durch 2 = 10

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Der Differenzenquotient schätzt die Steigung an einem Punkt

Sie wollen die Geschwindigkeit genau bei Sekunde 3, nicht über ein ganzes Intervall. Dazu messen Sie bei 3 und bei 3 + h, mit einem kleinen Schritt h.

Die Formel heißt Differenzenquotient: (f(3 + h) - f(3)) / h. Je kleiner h, desto näher liegen Sie an der Geschwindigkeit genau bei 3. Der Wert, dem er sich nähert, heißt Ableitung.

Den Schritt h immer kleiner machen

Code: python
def geladen(t):
    return t ** 2  # Megabyte nach t Sekunden

def differenzenquotient(f, x, h):
    return (f(x + h) - f(x)) / h

for h in [1, 0.1, 0.01, 0.001]:
    print("h =", h, ":", round(differenzenquotient(geladen, 3, h), 4))
# Ändern Sie die 3 in 5. Welche Zahl erwarten Sie am Ende?

Die Rate zwischen 3 und 3,1 Sekunden

Befehl
docker exec jupyter python3 -c "print(round((3.1**2 - 3**2) / 0.1, 3))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Funktion wird als Argument übergeben

Im Code steht differenzenquotient(f, x, h) für jede Funktion. Sie geben f einfach beim Aufruf mit, ohne Klammern: differenzenquotient(geladen, 3, 0.1).

So schreiben Sie die Schätzung einmal und nutzen sie für jede Kurve. Genau das tun die Aufgaben dieses Moduls.

Ein häufiger Fehler

Warnung

Viele denken, je kleiner h, desto genauer das Ergebnis. Das stimmt nur bis etwa 0,00000001. Danach ziehen Sie fast gleiche Zahlen voneinander ab, und Rundungsfehler des Rechners überwiegen. Wählen Sie h klein, aber nicht winzig.

Wenn h zu klein wird

Code: python
def quadrat(x):
    return x ** 2

for h in [0.001, 0.00000001, 0.000000000001, 1e-15, 1e-16]:
    schaetzung = (quadrat(3 + h) - quadrat(3)) / h
    print("h =", h, ":", schaetzung)
# Die wahre Steigung ist 6. Ab welchem h wird die Schätzung schlechter?

Beidseitige Nachbarn machen die Schätzung genauer

Statt nur nach vorn zu schauen, nehmen Sie den Wert davor und den Wert danach. Die Steigung zwischen den beiden Nachbarn passt meist besser zur Stelle in der Mitte.

Die Bibliothek NumPy bietet beides. np.diff bildet die Unterschiede nebeneinander, np.gradient die Steigung mit beiden Nachbarn.

Die Raten zwischen den Messungen mit NumPy

Befehl
docker exec jupyter python3 -c "import numpy as np; x = np.array([0, 2, 4, 6]); y = x ** 2; print(np.diff(y) / np.diff(x))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Steigung an jeder Messstelle mit NumPy

Befehl
docker exec jupyter python3 -c "import numpy as np; x = np.array([0.0, 2.0, 4.0, 6.0]); print(np.gradient(x ** 2, x))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.