Funktionsgraphen

Einführung

Die grundlegende Idee von Funktionsgraphen ist es, dass mit derselben Vorschrift zu jedem x-Wert ein bestimmter y-Wert errechnet werden kann und dass sich dieser Zusammenhang in einer speziellen Graphik ausdrücken lässt.

f(x): x -> y = etwas, das mit x errechnet wird.

Mathematiker beschäftigt bei Funktionen z.B. die Frage, ob man eigentlich alles für x einsetzen darf oder aus welchem Bereich von Zahlen die Werte für y genommen werden. Aus Sicht der Informatik kann man die Menge der Werte, aus denen das x gewählt wird, unabhängig vom Inhalt als Liste betrachten, z.B. x = [-1,0,1,2,3,4,5,…]. Und auch die Menge der Werte, die sich aus der Anwendung der Verarbeitungsvorschrift in der Funktion ergeben, kann eine Liste sein. Es gilt insbesondere, dass für jedes xn in der Menge aller x ein bestimmtes yn errechnet werden kann. Kompliziert? Nein.

Beispiel lineare Funktion:
x sei [-1,0,1,2,3,4,5,...]; y sei anfangs [] 
Für jedes xn aus x tue: 
    yn = 1.5 * xn  # d.h.: führe die Funktion aus
    Füge yn zu y hinzu.
Gib y aus.
Code
Ergebnis
x-1012345
y-1,501,534,567,5
Wertetabelle für x = [-1,5] und y = 1.5*x

Praktische Vereinfachungen

Es gibt zu dieser Grundform noch zwei ganz praktische Vereinfachungen

  1. Die Funktion range
    range([int von,] int bis_ausschließlich [, float schritt]) -> Array erzeugt Zahlenmengen. Unbedingt nötig ist nur der zweite Parameter; so erzeugt range(11) eine Reihe von ganzen Zahlen von 0 bis 10, also mathematisch [0, 10] oder in Code [0,1,2,3,4,5,6,7,8,9,10]. Beachtenswert: range hat einen Rückgabewert, nur deswegen kann man schreiben
    x = range(-1,6)
  2. Listcomprehension ist eine besondere Fähigkeit von Python. Sie vereinfacht die Schreibweise bei der Verarbeitung von Listen, indem die For-Schleife in die Klammern für eine anfangs leere Liste gezogen wird. Mit x = range(-1,6) lässt sich so schreiben
    y = [1.5*xn for xn in x]
    Im Ergebnis ist y dann dieselbe Liste von Werten wie oben.

Eine Verallgemeinerung wäre es, wenn man die Verarbeitungsvorschrift in eine selbstdefinierte Funktion auslagert. So würde man für y = 1,5*x schreiben:

def func(x):
  y = 1.5*x
  return y

Mit x = range(-1,6) und der selbstdefinierten Funktion func ließe sich so schreiben
y = [func(xn) for xn in x]

Die beiden Listen x und y lassen sich anschließend wie im vorhergehenden Abschnitt „Punkte“ durch matplotlib zeichnen.

Aufgabe

Wende die beiden Vereinfachungen auf das untenstehende Beispiel an und lass dir das Diagramm anzeigen.

Weitere Funktionen

Mathematische Funktionen sind vielfältig. Mit x2 ergeben sich Parabeln, mit x3 monoton steigende Graphen 3. Grades, mit 1/x ergeben sich Hyperbeln. Im untenstehenden Beispiel wurde die Verarbeitungsvorschrift x -> y in eine selbstdefinierte Funktion ausgelagert.

Aufgabe

Experimentiere mit der Verarbeitungsvorschrift und versuche eine Parabel und eine Hyperbel zu erzeugen.

Weiter: Physikalische Daten >>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert