Die Mathe-Redaktion - 22.11.2017 23:01 - Registrieren/Login
Auswahl
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 706 Gäste und 28 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Werkzeuge: Kurze Einführung in Octave
Freigegeben von matroid am So. 06. Mai 2007 20:27:57
Verfasst von javaguru -   22264 x gelesen [Gliederung] [Statistik] Druckbare Version Druckerfreundliche Version
Software


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
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 <a href="http://www.octave.org." target='_blank'><u>www.octave.org.</u></a>
 
Please contribute if you find this software useful.
For more information, visit <a href="http://www.octave.org/help-wanted.html" target='_blank'><u>www.octave.org/help-wanted.html</u></a>
 
Report bugs to <bug@octave.org> (but first, please read
<a href="http://www.octave.org/bugs.html" target='_blank'><u>www.octave.org/bugs.html</u></a> to learn how to write a helpful report).
 
octave:1>

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
Octave
> (1003-29)/47
ans = 20.7234  

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:
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

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:
Octave
> A(1,1) + A(2,1) + A(3,1) + A(4,1)
ans = 34

Viel schneller geht die Benutzung des Doppelpunkt-Operators (:), wie man diesem Beispiel entnehmen kann
Octave
> 1:4
ans =
     1 2 3 4

Also finden wir das obige Ergebnis mit der Funktion sum
Octave
sum(A(1:4,1))
ans = 34

Noch kürzer ist die automatische Nutzung des kleinsten und größten Indexes
Octave
> sum(A(:,1))
ans = 34

bzw. die Summation über alle Spalten auf einmal:
Octave
> sum(A)
ans =
      34 34 34 34

Um dieses nun auch mit den Zeilen durchzuführen, bilden wir einfach die transponierte Matrix von A.
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

Oder für die Diagonale mit dem Kommando diag
Octave
> diag(A)
ans =
      16
      10
       7
       1
 
> sum(diag(A))
ans = 34

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
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    

Matrizen - Elemente



Als Matrix-Element kann jeder gültiger Octaveausdruck verwendet werden:
Octave
> x = [-1.3 sqrt(3) (1+2+3)*4/5]
x =
    -1.3000 1.7321 4.8000

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
Octave
> x(4) = 42
x =
    -1.3000 1.7321 4.8000 0 42.0000

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
Octave
> A = [1 2; 3 4]+i * [5 6; 7 8]
A =
    1 + 5i   2 + 6i
    3 + 7i   4 + 8i

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
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 <topic>' to search the manual index.
 
Help and information about Octave is also available on the WWW
at <a href="http://www.octave.org" target='_blank'><u>www.octave.org</u></a> and via the help-octave@bevo.che.wisc.edu
mailing list.

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.
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

Um alle bereits definierten Variablen zu löschen geben wir einfach
Octave
> clear all

ein, um nur die Variable A zu löschen, geben wir  
Octave
> clear A

ein.

Matrixfunktionen



In Octave sind grundsätzlich alle Rechenoperationen wie + - * / ^ für Matrizen definiert. Einige Beispiele:
Octave
> A=[1 2 3;4 5 6]; B=[0 1 2; 4 5 6];

Hier dient das Semikolon zwischen den Definitionen zum Trennen der Eingaben und unterdrücken der Ausgaben.
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

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.
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

Wird eine komponentenweise Multiplikation, Division oder Exponentation gewünscht, ist der Operation ein Punkt (.) voranzustellen.
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

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:
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

Dieses Textfile sollte dann unter dem Namen fibscript.m abgespeicht werden.

Ausgeführt wird das Skript mit
Ocatve
> fibscript
f =
    1 1 2 3 5 8 13 21 34 55

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:
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;

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
Octave
> fibfun(10)
ans =  55

aufrufen. Ein Hilfesystem wird durch die Kommentar-Zeile gleich mitgeliefert:
Octave
> help fibfun
FIBFUN berechnet n-te Fibonacci Zahl

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
Octave
> p=[1 0 -30 30];

dargestellt. Jetzt muss noch ein Wertebereich für x definiert werden:
Octave
> x=[-8:0.1:8];

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
Octave
y = polyval(p,x);

Das kann nun geplottet, also grafisch dargestellt, werden:
Octave
> plot(x,y)  

Bild


Nullstellen finden wir mit dem Kommando roots:
Octave
x0=roots(p)
x0 =
    -5.92167
     4.88447
     1.03719

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

Link auf diesen Artikel Link auf diesen Artikel  Druckbare Version Druckerfreundliche Version  Einen Freund auf diesen Artikel aufmerksam machen Weitersagen Kommentare zeigen Kommentare  
pdfpdf-Datei zum Artikel öffnen, 332 KB, vom 03.05.2007 20:55:25, bisher 9878 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]

 
Verwandte Links
 
Besucherzähler 22264
 
Aufrufstatistik des Artikels
Insgesamt 4737 externe Besuche zwischen 2017.11 und 2017.11 [Anzeigen]
DomainAnzahlProz
http://matheplanet.com1222.6%2.6 %
http://google.de371178.3%78.3 %
http://google.ch10%0 %
http://google.nl2535.3%5.3 %
http://google.lu1904%4 %
http://google.pt1112.3%2.3 %
http://google.fr1102.3%2.3 %
http://google.se651.4%1.4 %
http://google.no591.2%1.2 %
http://qrobe.it70.1%0.1 %
http://r.duckduckgo.com50.1%0.1 %
http://www.bing.com380.8%0.8 %
http://ecosia.org110.2%0.2 %
http://vk.com20%0 %
http://77.236.96.193:608030.1%0.1 %
http://search.conduit.com40.1%0.1 %
http://suche.web.de20%0 %
http://search.icq.com10%0 %
http://de.yhs4.search.yahoo.com30.1%0.1 %
http://metager.de10%0 %
http://search.babylon.com40.1%0.1 %
http://google.at10%0 %
http://search.snapdo.com10%0 %
http://search.yahoo.com20%0 %
http://suche.gmx.net30.1%0.1 %
http://startpage.com10%0 %
http://de.search.yahoo.com50.1%0.1 %
http://m.vk.com10%0 %
http://isearch.avg.com50.1%0.1 %
http://www.amazon.de10%0 %
http://www.ecosia.org30.1%0.1 %
http://www.delta-search.com40.1%0.1 %
http://suche.t-online.de20%0 %
http://search.tb.ask.com20%0 %
http://start.iminent.com10%0 %
http://search.mysearch.com10%0 %
http://duckduckgo.com10%0 %

Aufrufer der letzten 5 Tage im Einzelnen
Insgesamt 110 Aufrufe in den letzten 5 Tagen. [Anzeigen]
DatumAufrufer-URL
2017.11.01-2017.11.22 (74x)https://www.google.de/
2017.11.04-2017.11.22 (5x)https://www.google.ch/
2017.11.02-2017.11.22 (22x)viewtopic.php?topic=128982&ref=https://www.google.de/&ff=y
2017.11.22 08:28viewtopic.php?topic=128982&ref=https://www.bing.com/&ff=y
2017.11.20-2017.11.21 (2x)http://matheplanet.com/
2017.11.21 13:23viewtopic.php?topic=137656&ref=https://www.google.de/&ff=y
2017.11.08-2017.11.20 (3x)http://google.de/url?sa=t&rct=j&q=
2017.11.20 08:31viewtopic.php?topic=128982&ref=https://www.google.at/
2017.11.19 13:31http://google.ch/url?sa=t&rct=j&q=

Häufige Aufrufer in früheren Monaten
Insgesamt 4502 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2013-2017 (1025x)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
201404-10 (253x)http://google.nl/url?sa=t&rct=j&q=
2012.05 (190x)http://google.lu/url?sa=t&rct=j&q=octavebilder von heute sonntag den 06.05.20...
2012.04 (189x)http://google.de/url?sa=t&rct=j&q=wo kann ich octave downloaden
2013.04 (174x)http://google.de/url?sa=t&rct=j&q=welchem datentyp arbeitet octave
2013.11 (158x)http://google.de/url?sa=t&rct=j&q=programm octave
2013.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
2014.05 (141x)http://google.de/url?sa=t&rct=j&q=octave aus ordner starten
2012.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
2013.02 (111x)http://google.pt/url?sa=t&rct=j&q=
2013.12 (110x)http://google.fr/url?sa=t&rct=j&q=
2014.11 (108x)http://google.de/url?sa=t&rct=j&q=octave script ausfuehren
2012.12 (108x)http://google.de/url?sa=t&rct=j&q=wo kann ich octave runterladen
2012.02 (106x)http://google.de/url?sa=t&rct=j&q=variable aus dateien definieren octave
2013.03 (95x)http://google.de/url?sa=t&rct=j&q=skripte mit octave anlgen
2013.01 (94x)http://google.de/url?sa=t&rct=j&q=wo kann man octave downloaden
2012.01 (89x)http://google.de/url?sa=t&rct=j&q=wohin octave datei speichern um zu starten
2012.07 (89x)http://google.de/url?sa=t&rct=j&q=summe gnu octave
2012.03 (89x)http://google.de/url?sa=t&rct=j&q=verzeichniss wechsel octave
2013.06 (88x)http://google.de/url?sa=t&rct=j&q=oktave programm
2013.07 (75x)http://google.de/url?sa=t&rct=j&q=oktave mathe
2012.09 (74x)http://google.de/url?sa=t&rct=j&q=skript octave
2015.01 (65x)http://google.se/url?sa=t&rct=j&q=
2013.09 (63x)http://google.de/url?sa=t&rct=j&q=octave skript
2015.03 (63x)http://google.de/url?sa=t&source=web&cd=2&ved=0CCAQFjAB
2014.08 (59x)http://google.no/url?sa=t&rct=j&q=
2012-2016 (7x)http://qrobe.it/search/?q=gnu octave nullstellen&s=sbv2
2016.05 (4x)http://google.de/url?sa=t&source=web&cd=9&rct=j&q=octave funktionen erstellen

[Seitenanfang]

" Werkzeuge: Kurze Einführung in Octave" | 1 Kommentar
 
Für den Inhalt der Kommentare sind die Verfasser verantwortlich.

Re: Kurze Einführung in Octave
von Ex_Mitglied_40174 am So. 10. Juni 2007 16:40:36


Super Artikel! Eigenwerte wären mir noch wichtig gewesen, die sind der Hauptgrund für mich, Matlab zu verwenden.

 [Bearbeiten]

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]