Login
Login-Name Passwort


 
Newsletter
Werbung

Do, 12. Februar 2015, 15:00

Octave – Teil 2: Funktionen, Graphen und komplexe Zahlen

Nachdem im ersten Teil die Grundfunktionen von Octave beschrieben wurden, geht es nun direkt mit praktischen Anwendungen weiter: Der Schwerpunkt liegt in diesem Teil auf Funktionen und dem Plotten von Graphen. Beides sind Bereiche, die auch in der Schule schon von Nutzen sein können, spätestens aber in einer Ausbildung oder einem Studium mit naturwissenschaftlichem oder mathematischen Bezug wichtig sind.

Hinweis: Alle Teile des Workshops findet man auf der Übersichtsseite.

Funktionen und Grafiken

Als erstes Beispiel, um den Umgang mit Funktionen zu lernen, soll ein normaler Funktionsgraph geplottet werden. Man legt dazu eine Funktion in Octave an – die Namensgleichheit an dieser Stelle ist nicht zufällig. In der Mathematik ist eine Funktion eine Abbildung von einem Wertebereich W in einen Zielbereich Z (z.B.W→ Z oder oft RR) in der Form f(x) = y. Dabei ist f der Name der Funktion, x der Parameter und y der Rückgabewert. Genauso kann man eine Funktion in Octave bauen. Dazu legt man ein neues Skript an (Datei -> Neu -> Skript) und speichert unter dem Namen f.m den folgenden Text:

function y = f(x)
  y = x.^2;
end

Dabei sollte man der Übersicht halber nicht mehr als eine Funktion in eine Datei legen und dafür sorgen, dass der Dateiname jeweils dem Funktionsnamen entspricht.

function und end sind in dem Skript sogenannte Schlüsselwörter, die Octave anzeigen, dass hier eine Funktion anfängt und mit end beendet wird. Nach dem Schlüsselwort function wird zunächst der Rückgabewert der Funktion angegeben und nach dem Gleichheitszeichen der Name der Funktion und in Klammern die Parameter der Funktion. Die Namen sind mehr oder weniger frei wählbar, man darf aber keine Schlüsselwörter verwenden. y und x sind in diesem Fall Variablen. Auch diese haben hier eine ähnliche Funktion wie in der Mathematik: Sie werden erst zur Laufzeit mit einem bestimmten Wert gefüllt. In diesem Fall ist y am Ende x zum Quadrat. Das kann man im Befehlsfenster ausprobieren, nachdem man die Datei gespeichert hat:

>> f(2)
ans =  4
>> f(3)
ans =  9
>> f(4)
ans =  16

Man muss für y natürlich nicht die quadratische Funktion verwenden. Man kann z.B. weitere Datei g.m erstellen:

function y = g(x)
  y = x.^3;
end

Diese heißt nun g und kann genauso getestet werden.

Um die Funktion f zu plotten, also als Grafik darzustellen, muss man zunächst einen Bereich der x-Achse festlegen. Ohne diesen kann Octave nicht entscheiden, auf welchem Bereich die Funktion dargestellt werden soll. Wählt man beispielsweise das Intervall [−10,10], so geschieht dies folgendermaßen

>> x=-10:0.1:10;

Diese Schreibweise muss erklärt werden. Die Doppelpunktschreibweise erlaubt es, eine Liste von x-Werten von −10 bis 10 (das sind die beiden äußeren Werte) in 0,1-Schritten zu erzeugen. Man kann sich die Liste mit

>> disp(x)

anzeigen lassen. Das eigentliche Plotten geschieht nun mit

>> plot (x,f(x))

recht simpel. Man muss aber noch einmal festhalten, dass man in 0,1-Schritten plottet und die Funktion nicht kontinuierlich gezeichnet wird. So ähnlich zeichnet man eine Funktion auch per Hand: Man berechnet erst einige Werte der Funktion f für bestimmte x-Werte und verbindet diese dann. Die Liste von Funktionswerten zu den x-Werten der Liste berechnet Octave mit f(x). Per Hand kann man den Verlauf besser korrigieren; Octave verbindet die Werte schlicht mit geraden Linien. Man kann testweise den Wert von x ersetzen, z.B. mit 2-er Schritten:

>> x=-10:2:10;

Plottet man erneut, sieht man nun deutlich die „Ecken“ im Graphen.

Plot von f(x)=x^2 mit Schrittgröße 0,1 auf der x-Achse

Jens Dörpinghaus

Plot von f(x)=x^2 mit Schrittgröße 0,1 auf der x-Achse

Plot von f(x)=x^2 mit Schrittgröße 2 auf der x-Achse

Jens Dörpinghaus

Plot von f(x)=x^2 mit Schrittgröße 2 auf der x-Achse

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung