- Titel: Einführung in GNU Octave
- Organisation: UNI KOBLENZ
- Seitenzahl: 8
Inhalt
- 1 Grundlagen
- 1.1 Was ist Octave ?
- 1.2 Installation
- 1.3 Aufruf von Octave
- 1.4 Syntaxkonventionen
- 1.5 Hilfe!
- 2 Datentypen
- 2.1 Numerische Objekte
- 2.2 String-Objekte
- 2.3 Datenstrukturen
- 3 Operationen
- 3.1 Matrixoperationen
- 4 Kontrollstrukturen
- 4.1 Schleifen
- 4.2 if- und switch Anweisungen
- 4.3 Funktionen
- 5 Fehlermeldungen
Vorschau
Einf¨ hrung in GNU Octave u
S. Bouattour, D. Paulus 21. Mai 2003
Inhaltsverzeichnis
1 Grundlagen 1.1 Was ist Octave ? . . . 1.2 Installation . . . . . 1.3 Aufruf von Octave . 1.4 Syntaxkonventionen . 1.5 Hilfe! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 3 3 3 3 4 4 4 6 6 6 6 7
2 Datentypen 2.1 Numerische Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 String-Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Operationen 3.1 Matrixoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Kontrollstrukturen 4.1 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 if- und switch Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Fehlermeldungen
1
1 Grundlagen
1.1 Was ist Octave ?
Der Name Octave hat mit Musik nichts zu tun! Es ist der Name eines ehemaligen Chemie Professors vom Autor von Octave 1 . Dieser Professor war f¨ r sein Talent ber¨ hmt, schnelle “back of the envelope” Berechu u nungen durchzuf¨ hren. Es ist eine interaktive Skriptsprache, die speziell f¨ r vektorbasierte Berechnungen u u optimiert ist und dabei Standardroutinen der numerischen Mathematik (z.B. EISPACK oder LAPACK) auf einfache Weise zug¨ nglich macht [?]. us¨ tzlich zu der L¨ sung von Problemen der Linearen Algebra und a a o der Integralrechnung, dem L¨ sen von Gleichungssysteme und Polynomen etc., ist es m¨ glich, eigene Funko o tionen zu definieren und/oder dynamisch geladene Module in C++, C oder Fortran zu verwenden. Dadurch ist Octave fast uneingeschr¨ nkt erweiterbar! a
1.2 Installation
GNU Octave ist eine freie Software, deren Verwendung und Distribution den allgemeinen offentlichen ¨ Lizenzregeln (General Public License GPL) unterliegt. Linux: Octave ist ein Native-Linux-Programm, das bei vielen Distributionen schon als Binary-Package vorhanden ist. Ist dies nicht der Fall, so siehe http://www.octave.org/download.html. Windows: Obwohl Octave ein Linux-Programm ist, so existiert auch eine Portierung nach Windows. Dieses erfordert jedoch dennoch Linux-Grundwissen, weshalb eine FAQ unter http://octave.sourceforge.net/Octave Windows.htm eingerichtet wurde.
1.3 Aufruf von Octave
• Starten von Octave durch: – octave −→ Interaktiver Modus. – octave file.m −→ Ausf¨ hrung der Skriptdatei (s. Abschnitt 1.4) und beenden von Octave u . • Verlassen von Octave durch quit oder exit.
1.4 Syntaxkonventionen
Die Syntax von Octave ist der von MATLAB sehr ahnlich. Octave -Programme k¨ nnen meist von MATLAB ¨ o ausgef¨ hrt werden. Der Umgekehrte Weg ist aufgrund des gr¨ ßeren Funktionsumfang von MATLAB nicht u o immer gew¨ hrleistet. a • Befehle k¨ nnen entweder interaktiv oder uber Skriptdateien eingegeben werden. o ¨ • Skriptdateien sind Textdateien mit dem Suffix .m. Sie werden im interaktiven Modus durch die Eingabe des Dateinamens ohne suffix interpretiert (gelesen und ausgef¨ hrt). Sie k¨ nnen aber auch durch u o den Aufruf von octave file.m von der Shell aus interpretiert werden. In beiden F¨ llen verhalten a sie sich so, als ob ihr Inhalt eile f¨ r eile am Prompt eingegeben w¨ rde. u u • Octave ist case-sensitive. • Das Semikolon (;) trennt mehrere Befehle in einer eile und unterdr¨ ckt die Ausgabe der Ausweru tung. • Das Komma (,) trennt mehrere Befehle in einer eile, unterdr¨ ckt deren Ausgabe der Auswertung u aber nicht. Dies kann f¨ r Ablaufkontrolle und Debugging n¨ tzlich sein. u u
1 John
W. Eaton
• Drei Punkte (. . .) am eilenende bedeuten, dass der Ausdruck in der n¨ chten eile fortgesetzt wird. a Dies ist sinnvoll, um zu lange eilen in mehrere aufzuteilen. • Kommentare beginnen mit dem eichen % oder # .
1.5 Hilfe!
• help listet alle Befehle und internen Variablen auf. • help name gibt einen Hilfetext zur Variable oder Funktion “name” aus. Beispiel: octave:6> help norm
2 Datentypen
Intern bearbeitet Octave fast alle Datentypen als Matrizen; auch ein Skalar ist eine 1 × 1 Matrix.
2.1 Numerische Objekte
• Reale und Komplexe Skalare: sind gespeichert in doppelter Genauigkeit. Der Wertebereich 2 liegt zwischen 2.2251 × 10−308 und 1.7977 × 10308 . Die relative Genauigkeit ist 2.2204 × 10−16 . • Matrizen: k¨ nnen eine beliebige Gr¨ ße haben und ihre Gr¨ ße dynamisch andern. Die Werte einer o o o ¨ Matrix sind wiederum reale oder komplexe Skalare. Beispiel: octave:32> [1 2; 3 4] ans = 1 2 3 4 octave:33> [1+2i ans = 1 + 2i 3 + 0i 2 + 0i 4 – 4i
2; 3 4-4i]
2.2 String-Objekte
String-Objekte sind eichenfolgen, die zwischen einfachen oder doppelten Anf¨ hrungszeichen eingeschlosu sen sind (¨ oder ´. Intern speichert Octave Strings als Matrizen von eichen. Alle Indizierungsoperationen, die f¨ r Matrizen definiert sind, arbeiten auch auf Strings. u Beispiel: octave:11> x = [“das “, “ist “, “ein “, “Beispielsatz.”] x = das ist ein Beispielsatz. octave:12> y = [“das ist ein Beispielsatz.”] y = das ist ein Beispielsatz. octave:12> x(8) == y(8) ans = 1