Werkzeuge: Kurze Einführung in Octave
Released by matroid on So. 06. Mai 2007 20:27:57 [Statistics]
Written by javaguru - 25286 x read [Outline] Printable version Printer-friendly version -  Choose language   
Software

\(\begingroup\)
Octave
Mit diesem Artikel möchte ich eine Einführung in das Software Octave geben. Bei Octave handelt es sich um eine kostenlose Software, die für verschiedene Betriebssysteme zur Verfügung steht und welche ähnlich wie Matlab zu bedienen ist.

Installation

Um mit Octave zu arbeiten, müssen wir zunächst die Software erstmal runterladen. Dies geschieht auf dieser Seite www.octave.org. Da die Installation nicht immer so ganz problemlos verläuft, gibt es hier noch eine sehr gute Installationsanleitung

Die ersten Schritte ...

Nachdem wir octave über die Shell gestartet haben, dies geschieht, in dem man einfach $ octave eingibt und mit Enter bestätigt. Danach erhalte wir die folgende Arbeitsoberfläche \sourceon Octave GNU Octave, version 2.1.73 (i686-pc-linux-gnu). Copyright (C) 2006 John W. Eaton. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. Additional information about Octave is available at www.octave.org. Please contribute if you find this software useful. For more information, visit www.octave.org/help-wanted.html Report bugs to (but first, please read www.octave.org/bugs.html to learn how to write a helpful report). octave:1> \sourceoff Diese Oberfläche kann ein wenig abweichen, vor allem können die Versionsnummer andere sein. Man sieht nun auch sofort, dass dieses Programm textorientiert arbeitet und es keine grafische Oberfläche gibt. Nach einer kurzen Eingewöhnungsphase wird diese aber auch nicht mehr vermisst. Nun wollen wir die ersten Schritte in octave tun. Dazu sei noch kurz gesagt, dass Zeilen, welche mit > beginnen, Eingabezeilen sind. Dies kann man also direkt eingeben und die Antwort von octave gebe ich stets ohne dem "Größer-Zeichen" an. In octave können Zahlen sehr einfach eingegeben und berechnet werden, wie man diesem Beispiel entnehmen kann \sourceon Octave > (1003-29)/47 ans = 20.7234 \sourceoff Man kann also octave als einfachen Taschenrechner benutzen. Die Ausgabe wird in der Octavevariablen ans gespeichert. Bei ans handelt es sich um die Abkürzung des englischen Wortes answer, was soviel wie Antwort heißt. octave kann aber noch mehr. Der wichtigste Datentyp ist die Matrix (eine Zahl kann man nämlich auch als eine 1x1-Matrix interpretieren). Matrizen können Variablen zugeordnet werden. Ich habe mich als Beispiel für die Magische-Dürer-Matrix entschieden: \sourceon Octave > A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 \sourceoff Bei der Eingabe werden die Zahlen in einer Zeile mit Leerzeichen getrennt (man kann auch die einzelnen Werte durch ein Komma trennen). Die einzelnen Zeilen trennt man mit einem Semikolon. Um die Summe aller Elemente der ersten Spalte zu erhalten, gibt es zahlreiche Möglichkeiten, von denen ich hier nur ein paar angeben möchte: \sourceon Octave > A(1,1) + A(2,1) + A(3,1) + A(4,1) ans = 34 \sourceoff Viel schneller geht die Benutzung des Doppelpunkt-Operators (:), wie man diesem Beispiel entnehmen kann \sourceon Octave > 1:4 ans = 1 2 3 4 \sourceoff Also finden wir das obige Ergebnis mit der Funktion sum \sourceon Octave sum(A(1:4,1)) ans = 34 \sourceoff Noch kürzer ist die automatische Nutzung des kleinsten und größten Indexes \sourceon Octave > sum(A(:,1)) ans = 34 \sourceoff bzw. die Summation über alle Spalten auf einmal: \sourceon Octave > sum(A) ans = 34 34 34 34 \sourceoff Um dieses nun auch mit den Zeilen durchzuführen, bilden wir einfach die transponierte Matrix von A. \sourceon Octave > B=A' B = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1 > sum(B) ans = 34 34 34 34 \sourceoff Oder für die Diagonale mit dem Kommando diag \sourceon Octave > diag(A) ans = 16 10 7 1 > sum(diag(A)) ans = 34 \sourceoff Wenn die Matrix um die Mittelachse gespiegelt wird ,können wir auch die Summe der Gegendiagonalen berechnen. Um die Matrix zu spiegeln, benötigen wir das Kommando fliplr \sourceon Octave > B=fliplr(A) B = 13 2 3 16 8 11 10 5 12 7 6 9 1 14 15 4 > sum(diag(fliplr(A))) ans = 34 \sourceoff

Matrizen - Elemente

Als Matrix-Element kann jeder gültiger Octaveausdruck verwendet werden: \sourceon Octave > x = [-1.3 sqrt(3) (1+2+3)*4/5] x = -1.3000 1.7321 4.8000 \sourceoff Auf Matrixelemente wird mit der Angabe des Indexes in Klammern zugegriffen. So erweitern wir nun die Matrix x um den Wert 42 an der vierten Stell \sourceon Octave > x(4) = 42 x = -1.3000 1.7321 4.8000 0 42.0000 \sourceoff Es ist hierbei zu beachten, dass x(4) vorher nicht definiert war. Komplexe Zahlen werden einfach mit einem i als imaginärer Einheit eingegeben. Danach werden die allgemein gültigen Rechenregeln der komplexen Zahlen verwendent, wie man diesem Beispiel entnehmen kann \sourceon Octave > A = [1 2; 3 4]+i * [5 6; 7 8] A = 1 + 5i 2 + 6i 3 + 7i 4 + 8i \sourceoff

Hilfe

Am einfachsten benutzt man das help-Kommando um Informationen über eine Funktion zu erhalten. Man kann einfach nur help ein und erhält somit eine Liste aller möglichen Eingaben. Hier mal ein Beispiel für die Funktion sum \sourceon Octave > help sum Sum is a built-in function - Built-in Function: sum (X, DIM) Sum of elements along dimension DIM. If DIM is omitted, it defaults to 1 (column-wise sum). Overloaded function gsum(galois,...) spsum(sparse,...) spsum(complex_sparse,...) Additional help for built-in functions, operators, and variables is available in the on-line version of the manual. Use the command `help -i ' to search the manual index. Help and information about Octave is also available on the WWW at www.octave.org and via the help-octave@bevo.che.wisc.edu mailing list. \sourceoff Um sich den Zustand der, während der Ausführung, definierten Variablen und Funktionen anzusehen, kann man das who bzw. whos-Kommando benutzen. Es handelt sich hierbei jetzt um Beispielwerte. \sourceon Octave > who *** dynamically linked functions: dispatch *** currently compiled functions: columns fliplr magic mod *** local user variables: A B C x > whos *** dynamically linked functions: prot type rows cols name ==== ==== ==== ==== ==== r-- dynamically-linked function - - dispatch *** currently compiled functions: prot type rows cols name ==== ==== ==== ==== ==== rwd user-defined function - - columns rwd user-defined function - - fliplr rwd user-defined function - - magic rwd user-defined function - - mod *** local user variables: prot type rows cols name ==== ==== ==== ==== ==== rwd complex matrix 2 2 A rwd matrix 4 4 B rwd matrix 4 4 C rwd matrix 1 4 x \sourceoff Um alle bereits definierten Variablen zu löschen geben wir einfach \sourceon Octave > clear all \sourceoff ein, um nur die Variable A zu löschen, geben wir \sourceon Octave > clear A \sourceoff ein.

Matrixfunktionen

In Octave sind grundsätzlich alle Rechenoperationen wie + - * / ^ für Matrizen definiert. Einige Beispiele: \sourceon Octave > A=[1 2 3;4 5 6]; B=[0 1 2; 4 5 6]; \sourceoff Hier dient das Semikolon zwischen den Definitionen zum Trennen der Eingaben und unterdrücken der Ausgaben. \sourceon Octave > C = A - B C = 1 1 1 0 0 0 > D = A * B' D = 8 32 17 77 > E = A / B E = 0.7500 0.2500 0.0000 1.0000 > F = A \ B F = 1.77778 1.27778 0.77778 0.44444 0.44444 0.44444 -0.88889 -0.38889 0.11111 \sourceoff Hierbei entspricht der /-Operator der Rechts- und der \-Operator der Links-Division. D.h., dass das Ergebnis von X = B / A entspricht der Lösung der Gleichung X * A = B und X = A \ B der Gleichung A * X = B. Die Matrix-Links-Divison A \ B ist immer definiert, wenn B soviele Zeilen hat wie A. Für die Rechts-Divison gilt A / B = ( B' / A')' . Für über- bzw. unterbestimmte Systeme wird dann ein Ausgleichsverfahren angewendet. \sourceon Octave > G = [1,2,3;3,5,6;7,8,9] G = 1 2 3 3 5 6 7 8 9 > G^2 ans = 28 36 42 60 79 93 94 126 150 > x = [1 2 3]; y=[4 5 6]'; > x * y ans = 32 > b = x * G b = 28 36 42 \sourceoff Wird eine komponentenweise Multiplikation, Division oder Exponentation gewünscht, ist der Operation ein Punkt (.) voranzustellen. \sourceon Octave > A .* B ans = 0 2 6 16 25 36 > A ./ B ans = Inf 2.0000 1.5000 1.0000 1.0000 1.0000 > G .^ 2 ans = 1 4 9 9 25 36 49 64 81 \sourceoff Für Matrizen gibt es noch einige weitere interessante Funktionen, die man der Hilfe entnehmen kann.

Skripte und Funktionen

Skripte sind einfache ASCII-Textfiles, die Octavebefehle enthalten. Zeilen, denen ein %-Vorangestellt ist, werden als Kommentar verarbeitet und somit nicht ausgewertet. Aus einer Octave-Session heraus kann das Skript durch Aufrufen des Dateinamens aufgerufen werden. Das Standardverzeichnis, aus dem die abgespeicherten Dateien gelesern werden können ist ~\octave_files. Temporär kann das Arbeitsverzeichnis mit dem Befehl cd dir oder chdir dir geändert werden. Ein gültiges Skript wäre zum Beispiel, dieses Skript zum Bestimmen der Fibonnaci-Zahlen: \sourceon Octave-Skript %fibscript.m %Fibonacci-Zahlen f=[1 1]; n=1; while f(n) + f(n+1)<80 f(n+2)=f(n)+f(n+1); n=n+1; end; f \sourceoff Dieses Textfile sollte dann unter dem Namen fibscript.m abgespeicht werden. Ausgeführt wird das Skript mit \sourceon Ocatve > fibscript f = 1 1 2 3 5 8 13 21 34 55 \sourceoff Vorher muss man in dern Ordner bzw. das Verzeichnis wechseln, in dem man diese Datei gespeichert hat wechseln. Dies geschieht dann wie oben angegeben. Eleganter ist allerdings die Formulierung mit Hilfe einer Funktion. Diese könnte so aussehen: \sourceon Octave-Skript function f = fibfun(n) %FIBFUN berechnet die n-te Fibonacci Zahl if n>2 f=fibfun(n-1)+fibfun(n-2); else f=1; end; end; \sourceoff Die Funktion wird unter dem Namen fibfun.m abgespeichert.Der Funktionsname (erste Zeile) muss identisch dem Dateinamen sein, unter dem die Funktion abgespeichert wird. Jetzt können wir die 10-te Fibonacci-Zahl einfach mit \sourceon Octave > fibfun(10) ans = 55 \sourceoff aufrufen. Ein Hilfesystem wird durch die Kommentar-Zeile gleich mitgeliefert: \sourceon Octave > help fibfun FIBFUN berechnet n-te Fibonacci Zahl \sourceoff

Polynome

Polynome werden in Octave sehr einfach durch die Angabe des Koeffizientenvektors definiert., z.B. wird das Polynom y = x^3 - 30x + 30 in Octave mit \sourceon Octave > p=[1 0 -30 30]; \sourceoff dargestellt. Jetzt muss noch ein Wertebereich für x definiert werden: \sourceon Octave > x=[-8:0.1:8]; \sourceoff Das bedeutet, dass wir das Intervall von -8 bis 8 betrachten und dabei eine Schrittweise von 0.1 benutzten. Die Funktionswerte y bekommen wir dann (alle auf einmal) mit der Funktion polyval \sourceon Octave y = polyval(p,x); \sourceoff Das kann nun geplottet, also grafisch dargestellt, werden: \sourceon Octave > plot(x,y) \sourceoff
Bild
Nullstellen finden wir mit dem Kommando roots: \sourceon Octave x0=roots(p) x0 = -5.92167 4.88447 1.03719 \sourceoff

Abschluss

Ich hoffe, dass ich dem einen oder anderen bei Problemen bezüglich Octave nun helfen konnte. Ich wünsche euch nun viel Vergnügen beim Herumspielen mit diesem Programm. javaguru
\(\endgroup\)
Get link to this article Get link to this article  Printable version Printer-friendly version -  Choose language     Kommentare zeigen Comments  
pdfpdf-Datei zum Artikel öffnen, 332 KB, vom 03.05.2007 20:55:25, bisher 11312 Downloads


Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
: Software :: Informatik :: Unix :: Linux :: Windows :: Mathematik :: Matlab :: Octave :
Kurze Einführung in Octave [von javaguru]  
Mit diesem Artikel möchte ich eine Einführung in das Software Octave geben.
[Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]

 
 
Aufrufzähler 25286
 
Aufrufstatistik des Artikels
Insgesamt 5203 externe Seitenaufrufe zwischen 2012.01 und 2021.12 [Anzeigen]
DomainAnzahlProz
http://matheplanet.com10%0 %
https://www.bing.com871.7%1.7 %
https://matheplanet.com40.1%0.1 %
https://google.com611.2%1.2 %
https://duckduckgo.com661.3%1.3 %
https://www.ecosia.org410.8%0.8 %
https://google.de2835.4%5.4 %
http://google.de374171.9%71.9 %
http://google.nl2534.9%4.9 %
http://google.lu1903.7%3.7 %
http://google.pt1112.1%2.1 %
http://google.fr1102.1%2.1 %
http://google.se651.2%1.2 %
http://google.no591.1%1.1 %
http://qrobe.it70.1%0.1 %
https://www.startpage.com50.1%0.1 %
http://www.bing.com380.7%0.7 %
http://r.duckduckgo.com50.1%0.1 %
https://de.search.yahoo.com30.1%0.1 %
https://yandex.ru30.1%0.1 %
http://vk.com20%0 %
http://77.236.96.193:608030.1%0.1 %
http://ecosia.org110.2%0.2 %
http://isearch.avg.com50.1%0.1 %
http://start.iminent.com10%0 %
http://www.delta-search.com40.1%0.1 %
http://de.yhs4.search.yahoo.com30.1%0.1 %
https://metager.de10%0 %
http://suche.gmx.net30.1%0.1 %
http://search.conduit.com40.1%0.1 %
http://search.icq.com10%0 %
http://www.amazon.de10%0 %
http://search.mysearch.com10%0 %
http://search.babylon.com40.1%0.1 %
http://search.yahoo.com20%0 %
http://metager.de10%0 %
http://de.search.yahoo.com50.1%0.1 %
http://duckduckgo.com10%0 %
http://startpage.com10%0 %
http://www.cucusoft.com10%0 %
http://google.at10%0 %
http://int.search.myway.com10%0 %
http://suche.web.de20%0 %
http://www.ecosia.org30.1%0.1 %
http://m.vk.com10%0 %
http://search.tb.ask.com20%0 %
https://startpage.com10%0 %
http://suche.t-online.de20%0 %
https://www.qwant.com10%0 %
http://search.snapdo.com10%0 %

Aufrufer der letzten 5 Tage im Einzelnen
Insgesamt 24 Aufrufe in den letzten 5 Tagen. [Anzeigen]
DatumAufrufer-URL
2021.12.02 20:39fav.php?agid=1&keyword=Software
2021.11.01-2021.12.02 (8x)https://www.bing.com/
2021.11.11-2021.11.30 (2x)viewtopic.php?topic=128982
2021.11.29 20:08https://google.com
2021.11.04-2021.11.29 (3x)https://duckduckgo.com/
2021.11.06-2021.11.29 (9x)https://google.com/

Häufige Aufrufer in früheren Monaten
Insgesamt 5046 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2013-2019 (1057x)http://google.de/url?sa=t&rct=j&q=
201210-11 (307x)http://google.de/url?sa=t&rct=j&q=wie sieht datei von octave
2020-2021 (262x)https://google.de/
201404-10 (253x)http://google.nl/url?sa=t&rct=j&q=
201205-05 (190x)http://google.lu/url?sa=t&rct=j&q=octavebilder von heute sonntag den 06.05.20...
201204-04 (189x)http://google.de/url?sa=t&rct=j&q=wo kann ich octave downloaden
201304-04 (174x)http://google.de/url?sa=t&rct=j&q=welchem datentyp arbeitet octave
201311-11 (158x)http://google.de/url?sa=t&rct=j&q=programm octave
201305-05 (155x)http://google.de/url?sa=t&rct=j&q=starten octave
2014-2016 (147x)http://google.de/url?sa=t&rct=j&q=octave script
201405-05 (141x)http://google.de/url?sa=t&rct=j&q=octave aus ordner starten
201206-06 (135x)http://google.de/url?sa=t&rct=j&q=wurzeln komplexer zahlen octave
2012-2013 (131x)http://google.de/url?sa=t&rct=j&q=verzeichnis wechseln octave
201302-02 (111x)http://google.pt/url?sa=t&rct=j&q=
201312-12 (110x)http://google.fr/url?sa=t&rct=j&q=
201212-12 (108x)http://google.de/url?sa=t&rct=j&q=wo kann ich octave runterladen
201411-11 (108x)http://google.de/url?sa=t&rct=j&q=octave script ausfuehren
201202-02 (106x)http://google.de/url?sa=t&rct=j&q=variable aus dateien definieren octave
201303-03 (95x)http://google.de/url?sa=t&rct=j&q=skripte mit octave anlgen
201301-01 (94x)http://google.de/url?sa=t&rct=j&q=wo kann man octave downloaden
201201-01 (89x)http://google.de/url?sa=t&rct=j&q=wohin octave datei speichern um zu starten
201207-07 (89x)http://google.de/url?sa=t&rct=j&q=summe gnu octave
201203-03 (89x)http://google.de/url?sa=t&rct=j&q=verzeichniss wechsel octave
201306-06 (88x)http://google.de/url?sa=t&rct=j&q=oktave programm
201307-07 (75x)http://google.de/url?sa=t&rct=j&q=oktave mathe
201209-09 (74x)http://google.de/url?sa=t&rct=j&q=skript octave
201501-01 (65x)http://google.se/url?sa=t&rct=j&q=
201503-03 (63x)http://google.de/url?sa=t&source=web&cd=2&ved=0CCAQFjAB
201309-09 (63x)http://google.de/url?sa=t&rct=j&q=octave skript
201408-08 (59x)http://google.no/url?sa=t&rct=j&q=
2020-2021 (58x)https://duckduckgo.com/
2020-2021 (51x)https://google.com/
2020-2021 (51x)https://www.bing.com/
2020-2021 (37x)https://www.ecosia.org/
202106-06 (15x)https://google.de/url?sa=t
202011-11 (11x)https://www.bing.com/search?q=octave das ergebnis einer gleichung runden
202106-06 (8x)https://www.bing.com/search?q=graphische oberfläche octave
2012-2016 (7x)http://qrobe.it/search/?q=gnu octave nullstellen&s=sbv2
2020-2021 (5x)https://duckduckgo.com
202009-09 (5x)https://google.de
2020-2021 (5x)https://www.startpage.com/
201605-05 (4x)http://google.de/url?sa=t&source=web&cd=9&rct=j&q=octave funktionen erstellen
202005-05 (4x)https://www.bing.com/search?q=octave fibonacci

[Top of page]

"Werkzeuge: Kurze Einführung in Octave" | 1 Comment
The authors of the comments are responsible for the content.

Re: Kurze Einführung in Octave
von: Ex_Mitglied_40174 am: So. 10. Juni 2007 16:40:36
\(\begingroup\)Super Artikel! Eigenwerte wären mir noch wichtig gewesen, die sind der Hauptgrund für mich, Matlab zu verwenden.\(\endgroup\)
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]