GNU Octave

Screenshot der Software:
GNU Octave
Softwarebeschreibung:
Version: 4.4.0 Aktualisiert
Upload-Datum: 22 Jun 18
Entwickler: John W. Eaton
Lizenz: Frei
Popularität: 262

Rating: 2.7/5 (Total Votes: 3)

GNU Octave ist ein Open-Source- und frei verteiltes Kommandozeilen-Softwareprojekt mit dem Ziel, eine leistungsstarke, einfach zu verwendende und erweiterbare Hochsprache bereitzustellen, die für die Bearbeitung numerischer Berechnungen verwendet werden kann .


Kann verwendet werden, um lineare und nichtlineare Probleme numerisch zu lösen

Mit der Software können sowohl lineare als auch nichtlineare Probleme numerisch gelöst und verschiedene numerische Experimente durchgeführt werden. Es ist kompatibel mit Matlab, einer numerischen Umgebung mit mehreren Paradigmen, und kann als Batch-orientierte Sprache verwendet werden.

Darüber hinaus bietet GNU Octave verschiedene Utilities, mit denen Sie gewöhnliche numerische Linera Algebra-Probleme lösen, Polynome manipulieren, gewöhnliche Funktionen integrieren, die Wurzeln nichtlinearer Gleichungen entdecken sowie gewöhnliche differential-algebraische und Differentialgleichungen integrieren können / p>

Sie können dynamisch geladene Module oder benutzerdefinierte Funktionen verwenden, um GNU Octave zu erweitern. Diese können in Octaves eigener Programmiersprache oder in C, C ++, Fortran usw. geschrieben werden.

Erste Schritte mit GNU Octave

Zwei Methoden stehen zur Verfügung, um GNU Octave auf einem GNU / Linux-Betriebssystem zu installieren. Die erste ist die einfachste und beinhaltet die Suche nach der "Oktave". Paket in der Software Center-App (z. B. Synaptic Package Manager) Ihrer Distribution.

Die zweite Methode unterstützt Sie bei der Installation der neuesten Version des Produkts, beinhaltet jedoch die Ausführung von Befehlen in einem Terminalemulator. Wenn Sie damit fertig sind, laden Sie das neueste Quellpaket von Softoware oder von der offiziellen Homepage des Projekts herunter (siehe Link am Ende des Artikels), speichern Sie es auf Ihrem PC und entpacken Sie es.

Öffnen Sie eine Terminalemulator-App, führen Sie das & cd & rsquo; Befehl gefolgt von dem Pfad zum Speicherort der extrahierten Archivdateien (z. B. cd /home/softoware/octave-3.8.2), führen Sie das & lsquo; ./ configure & amp; & amp ;; machen & rsquo; Befehl, um das Programm zu konfigurieren und zu kompilieren, und führen Sie dann die & squo; sudo make install & rsquo; Befehl, um es zu installieren. Verwenden Sie es über die Befehlszeilenschnittstelle, indem Sie das & quot; octave & rsquo; Befehl.

Unter der Haube

Wenn wir uns das GNU Octave-Programm ansehen, stellen wir fest, dass es vollständig in der Programmiersprache C ++ geschrieben ist. Wir haben es in verschiedenen GNU / Linux-Distributionen installiert, einschließlich Arch Linux und Ubuntu, unter Verwendung der Anweisungen im obigen Abschnitt. Die Software ist mit 32-Bit- und 64-Bit-Computerplattformen kompatibel.

Was ist neu in dieser Version:

  • One Zu den größten neuen Funktionen der Release-Reihe Octave 3.8.x gehört eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in der Version:

  • Eines der größten neuen Features der Release-Reihe Octave 3.8.x ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 4.2.0:

  • Eines der größten neuen Features der Octave 3.8.x-Release-Serie ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 4.0.3:

  • Eines der größten neuen Features der Octave 3.8.x-Release-Serie ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 4.0.1:

  • Eines der größten neuen Features der Octave 3.8.x-Release-Serie ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 4.0.0:

  • Eines der größten neuen Features der Octave 3.8.x-Release-Serie ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 3.8.2:

  • Eines der größten neuen Features der Octave 3.8.x-Release-Serie ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).

Was ist neu in Version 3.8.0:

  • Eines der größten neuen Features von Octave 3.8 ist eine grafische Benutzeroberfläche. Es ist die eine Sache, die Benutzer in den letzten Jahren am häufigsten angefordert haben und jetzt ist es fast fertig. Da es jedoch nicht ganz so ausgefeilt ist, wie wir es gerne hätten, haben wir uns entschieden, bis zur Release-Reihe 4.0.x zu warten, bevor wir die GUI zur Standardschnittstelle machen (bis dahin können Sie die GUI mit der Option --force-gui starten) ).
  • Angesichts der langen Zeit und der Anzahl von Bugfixes und Verbesserungen seit der letzten großen Version von Octave, haben wir uns auch dazu entschlossen, die Veröffentlichung all dieser neuen Verbesserungen nicht länger zu verzögern, nur um die GUI zu perfektionieren. Also, viel Spaß mit der Version 3.8 von Octave und der Vorschau der neuen GUI. Wir glauben, dass es einigermaßen gut funktioniert, aber wir wissen auch, dass es einige offensichtliche Unebenheiten und viele Dinge gibt, die verbessert werden könnten.

Was ist neu in Version 3.4.0:

  • BLAS- und LAPACK-Bibliotheken müssen nun Octave erstellen. Die Teilmenge der Referenzbibliotheken BLAS und LAPACK wurde aus den Oktavquellen entfernt.
  • Die "Lookup" -Funktion wurde erweitert, um für die allgemeine binäre Suche nützlich zu sein. Mit dieser Verbesserung wurde die Ismember-Funktion für eine wesentlich bessere Leistung neu geschrieben.
  • Reelle, ganze und logische Matrizen, wenn sie in der Indizierung verwendet werden, werden nun den internen index_vector Wert (zero-based Indizes) zwischenspeichern, wenn sie erfolgreich als Indizes verwendet werden, wodurch der Umwandlungsstrafe für die nachfolgende Indexierung durch die gleiche Matrix eliminiert wird. Dies bedeutet insbesondere, dass es nicht mehr benötigt wird, um eine wiederholte Indexierung durch logische Arrays zu vermeiden, die aus Gründen der Performance find suchen.
  • Logische Matrizen werden jetzt effizienter behandelt, wenn sie als Indizes verwendet werden. Octave behält den Index als logische Maske, es sei denn, das Verhältnis der wahren Elemente ist klein genug, um einen speziellen Code zu verwenden. Zuvor wurden alle logischen Matrizen immer zuerst in Indexvektoren konvertiert. Dies führt zu Einsparungen bei Speicher- und Rechenzeit.
  • Die Funktionen 'sub2ind' und 'ind2sub' wurden als kompilierte Funktionen für bessere Leistung neu implementiert. Diese Funktionen sind jetzt schneller, können effizientere Ergebnisse für Bereiche liefern und können den im vorherigen Absatz beschriebenen Index-Cache-Mechanismus wiederverwenden.
  • Die vordefinierten Funktionen für assoziative Operatoren (`plus ',` times', `mtimes ',` and', and oder) wurden erweitert, um mehrere Argumente zu akzeptieren. Dies ist besonders nützlich für das Summieren (Multiplizieren usw.) von Listen von Objekten (von möglicherweise unterschiedlichen Typen):
  • matrix_sum = plus (Matrixliste {:});
  • Ein auf libcurl basierender FTP-Objekttyp wurde implementiert. Mit diesen Objekten können FTP-Verbindungen, Downloads und Uploads verwaltet werden. Zum Beispiel
  • fp = ftp ("ftp.octave.org); CD (fp," gnu / octave "); mget (fp," octave-3.2.3.tar.bz2 "); schließen (fp);
  • Das Standardverhalten von `assert (observed, expected) 'wurde gelockert, um eine weniger strenge Überprüfung zu verwenden, bei der die Interna der Werte nicht übereinstimmen müssen. Dies verhindert, dass zuvor gültige Tests aufgrund neuer interner Klassen, die in zukünftigen Octave-Versionen eingeführt wurden, nicht mehr funktionieren.
  • Zum Beispiel waren alle diese Behauptungen in Octave 3.0.x wahr, aber in 3.2.x aufgrund neuer Optimierungen und Verbesserungen falsch:
  • assert (2 * linspace (1, 5, 5), 2 * (1: 5)) assert (Nullen (0, 0), []) assert (2 * Einsen (1, 5), (2) (Ein (1,5)))
  • Das Verhalten der Bibliotheksfunktionen `ismatrix ',` issquare' und `issymmetric 'wurde zur besseren Konsistenz geändert. Die `ismatrix'-Funktion gibt nun true für alle numerischen, logischen und Zeichen-2-D- oder -N-D-Matrizen zurück. Zuvor gab 'ismatrix' false zurück, wenn die erste oder zweite Dimension null war. Folglich war "Ismatrix ([])" falsch, während "Ismatrix (Nullen (1,2,0))" wahr war.
  • Die Funktion 'issquare' gibt nun einen logischen Skalar zurück und entspricht dem Ausdruck
  • ismatrix (x) & amp; & amp; ndims (x) == 2 & amp; & amp; Zeilen (x) == Spalten (x)
  • Die Dimension wird nicht mehr zurückgegeben. Als Ergebnis liefert "issquare ([])" nun wahr. Die `issymmetric'-Funktion prüft nun auf Symmetrie anstelle von Hermianness. Für letztere wurde Ishermitian geschaffen. Außerdem wird ein logischer Skalar anstelle der Dimension zurückgegeben, sodass "issymmetric ([])" nun wahr ist. Funktions-Handles erkennen nun überladene Funktionen. Wenn eine Funktion überladen ist, bestimmt der Handle zum Zeitpunkt seiner Referenz, welche Funktion er aufrufen soll. Eine nicht überladene Version muss nicht existieren.
  • Überladen von Funktionen für integrierte Klassen (double, int8, cell usw.) ist jetzt kompatibel mit Matlab.
  • Funktionshandles können jetzt mit den Operatoren == und! = sowie der Funktion 'isequal' verglichen werden.
  • Die Leistung der Verkettung (mit []) und die Funktionen `cat ',` horzcat' und `vertcat 'wurden für mehrdimensionale Arrays verbessert.
  • Die Operationszuweisungsoperatoren + =, - =, * = und / = verhalten sich jetzt in bestimmten Fällen effizienter. Zum Beispiel, wenn M eine Matrix und S ein Skalar ist, dann die Aussage
  • M + = S;
  • arbeitet an M-Daten direkt, wenn sie nicht von einer anderen Variablen gemeinsam genutzt werden, was normalerweise sowohl die Zeit als auch die Speichereffizienz erhöht. Es sind nur ausgewählte gemeinsame Kombinationen betroffen, nämlich: Matrix + = Matrixmatrix - = Matrixmatrix. * = Matrixmatrix ./= Matrix
  • matrix + = skalare Matrix - = skalare Matrix * = skalare Matrix / = skalar
  • logische Matrix | = logische Matrix logische Matrix & amp; = logische Matrix
  • wobei Matrix und Skalar zur selben Klasse gehören. Die linke Seite muss eine einfache Variablenreferenz sein.
  • Wenn unäre Operatoren in Ausdrücken auftreten, versucht Octave außerdem, die Operation in-place auszuführen, wenn es sich bei dem Argument um einen temporären Ausdruck handelt.
  • Die Wirkung von Vergleichsoperatoren (, =), die auf komplexe Zahlen angewendet werden, hat sich geändert, um mit der strengen Ordnung übereinzustimmen, die durch die Funktionen 'max', 'min' und 'sort' definiert wird. Genauer gesagt werden komplexe Zahlen durch lexikografischen Vergleich der Paare "[abs (z), arg (z)]" verglichen. Zuvor wurden nur echte Teile verglichen; Dies kann trivial erreicht werden, indem die Operanden in real ().
  • eingeschlossen werden
  • Die automatische Vereinfachung komplexer Berechnungsergebnisse hat sich geändert. Oktave vereinfacht nun jede komplexe Zahl mit einem Imaginärteil von Null oder einer komplexen Matrix, wobei alle Elemente einen Imaginärteil von Null zu einem reellen Wert haben. Zuvor wurde dies nur für positive Nullen gemacht. Beachten Sie, dass das Verhalten der komplexen Funktion unverändert ist und immer noch einen komplexen Wert erzeugt, selbst wenn der Imaginärteil Null ist.
  • Als Nebeneffekt des Code-Refactorings in liboctave sind die binären logischen Operationen nun leichter für Compiler-Optimierungen zugänglich und somit wesentlich schneller.
  • Octave ermöglicht nun benutzerdefinierte "subsasgn" -Methoden, um redundante Kopien zu optimieren. Weitere Informationen finden Sie im Handbuch.
  • Effizientere Matrixdivisionshandhabung. Octave kann nun die Ausdrücke M 'V M verarbeiten. V V / M
  • (M ist eine Matrix und V ist ein Vektor) in bestimmten Fällen effizienter. Insbesondere, wenn M dreieckig ist, werden alle drei Ausdrücke durch einen einzigen Aufruf an xTRTRS (von LAPACK) mit geeigneten Flags behandelt. Zuvor erforderten alle drei Ausdrücke eine physische Transponierung von M.
  • Effizientere Handhabung bestimmter gemischter real-komplexer Matrixoperationen. Zum Beispiel, wenn RM eine reelle Matrix und CM eine komplexe Matrix ist, RM CM
  • kann jetzt entweder als
  • ausgewertet werden
  • Komplex (RM real (CM), RM imag (CM))
  • oder als
  • Komplex (RM) CM,
  • abhängig von den Abmessungen. Die erste Form erfordert mehr Provisorien und Kopieren, aber halbiert die FLOP-Anzahl, was normalerweise eine bessere Leistung bringt, wenn RM genug Zeilen hat. Zuvor wurde immer das zweite Formular verwendet.
  • Matrix division ist ähnlich betroffen.
  • Effizienterer Umgang mit den aus Faktorisierungen zurückgewonnenen Matrixfaktoren. Die Funktionen zur Berechnung von QR-, LU- und Cholesky-Faktorisierungen geben jetzt automatisch die Dreiecksmatrixfaktoren mit dem richtigen internen matrix_type-Satz zurück, so dass sie nicht berechnet werden müssen, wenn die Matrix zur Teilung verwendet wird.
  • Die eingebaute `sum'-Funktion behandelt nun die nicht-native Summierung (d. h. doppelt präzise Summe von einzelnen oder ganzzahligen Eingängen) effizienter und vermeidet eine temporäre Umwandlung des gesamten Eingangsarrays in Doppelwerte. Ferner kann "sum" nun ein zusätzliches Optionsargument akzeptieren, das einen kompensierten Summierungsalgorithmus anstelle einer einfachen Summe verwendet, was die Genauigkeit erheblich verbessert, wenn bei der Summierung viele Löschvorgänge auftreten.
  • Die eingebaute `bsxfun'-Funktion verwendet jetzt optimierten Code für bestimmte Fälle, in denen integrierte Operator-Handles übergeben werden. Die Optimierungen betreffen nämlich die Operatoren 'plus', 'minus', 'mal', 'ldivide'. , `rdivide ',` power', `and ',` or' (für logische Arrays), die relationalen Operatoren `eq ',` ne', `lt ',` le', `gt ',` ge' und die Funktionen `min 'und` max'. Optimierungen gelten nur dann, wenn beide Operanden derselben eingebauten Klasse angehören. Gemischte reelle / komplexe und einfache / doppelte Operationen konvertieren zuerst beide Operanden in einen gemeinsamen Typ.
  • Die Funktionen "strfind" und "strrep" haben nun kompilierte Implementierungen, die das Suchen und Ersetzen von Strings, besonders bei längeren Mustern, wesentlich effizienter machen. Der Code von 'strcat' wurde vektorisiert und ist nun viel effizienter, wenn viele Strings verkettet werden. Die Funktionen "strcmpi" und "strncmpi" sind jetzt integrierte Funktionen, die eine bessere Leistung bieten.
  • Matlab-artige Ignorierung von Eingabe- und Ausgabefunktionsargumenten mit Tilde (~) wird jetzt unterstützt. Ignorierte Ausgabeargumente können von einer Funktion mit der integrierten Funktion `isargout 'erkannt werden. Weitere Einzelheiten finden Sie im Handbuch.
  • Der seit der Einführung von Zellen veraltete Listen-Datentyp wurde entfernt.
  • Die accumarray-Funktion wurde optimiert und ist jetzt in bestimmten wichtigen Fällen deutlich schneller.
  • Das Verhalten der isrealen und isnumerischen Funktionen wurde geändert, um Matlab-kompatibel zu sein.
  • Die ganze Zahl math & amp; Konvertierungswarnungen (Oktave: int-convert-nan, Oktave: int-convert-nicht-int-val, Oktave: int-convert-overflow, Oktave: int-math-overflow) wurden entfernt.
  • rem und mod sind jetzt eingebaute Funktionen. Sie behandeln Integer-Typen auch effizient mit Ganzzahlarithmetik.
  • Die spärliche Indexierung und indizierte Zuweisung wurde größtenteils neu geschrieben. Da Octave den komprimierten Spaltenspeicher für dünn besetzte Matrizen verwendet, wird der Verarbeitung ganzer Spalten große Aufmerksamkeit geschenkt. Solche Operationen sind jetzt bedeutend schneller, sowie einige andere wichtige Fälle.
  • Außerdem ist es jetzt möglich, eine dünn besetzte Matrix vorzubelegen und sie anschließend durch Zuweisungen zu füllen, sofern sie bestimmte Bedingungen erfüllen. Weitere Informationen finden Sie in der Funktion "spalloc", die nicht mehr nur ein Dummy ist. Folglich sind nzmax und nnz in Oktave nicht mehr immer gleich. Octave kann auch eine Matrix mit nnz & lt; nzmax als Ergebnis anderer Operationen, so sollten Sie konsequent nnz verwenden, es sei denn, Sie möchten nzmax wirklich verwenden (d. h. den Platz, der für Nicht-Null-Elemente reserviert ist).
  • Die spärliche Verkettung ist ebenfalls betroffen, und die Verkettung dünn besetzter Matrizen, insbesondere größerer Sammlungen, ist jetzt wesentlich effizienter. Dies gilt sowohl für den Operator [] als auch für die Funktionen cat / vertcat / horzcat.
  • Es ist jetzt möglich, optional die xGESDD LAPACK-Treiber für die Berechnung der Singulärwertzerlegung mit svd () anstelle des Standard-xGESVD mit der Konfigurations-Pseudovariable svd_driver zu verwenden. Der xGESDD-Treiber kann bis zu 6x-mal schneller sein, wenn einzelne Vektoren angefordert werden, ist aber bei stark schlecht konditionierten Matrizen etwas weniger robust.
  • Konfigurations-Pseudovariablen wie page_screen_output oder confirm_recursive_rmdir (oder der oben erwähnte svd_driver) akzeptieren jetzt eine "local" -Option als zweites Argument und fordern an, dass die Änderung rückgängig gemacht wird, wenn die aktuelle Funktion zurückgibt: function [status, msg] = rm_rf (dir) confirm_recursive_rmdir (false, "local"); [status, msg] = rmdir (dir, "s"); ... endfunction Bei der Rückkehr wird confirm_recursive_rmdir auf den Wert zurückgesetzt, den es beim Eintritt in die Funktion hatte, selbst wenn es nachfolgende Änderungen an der Variablen in der Funktion rm_rf oder irgendeiner der von ihr aufgerufenen Funktionen gab.
  • pkg akzeptiert jetzt eine Option -forge zum automatischen Herunterladen und Installieren von Paketen von Octave Forge. Zum Beispiel wird pkg install -forge general automatisch die neueste Version des allgemeinen Pakets herunterladen und versuchen, es zu installieren. Es wird keine automatische Auflösung von Abhängigkeiten bereitgestellt. Weiter,
  • pkg list -forge kann verwendet werden, um alle verfügbaren Pakete aufzulisten.
  • ** Die interne Datendarstellung von Strukturen wurde komplett neu geschrieben, um bestimmte Optimierungen durchführbar zu machen. Die Felddaten können nun von Strukturen mit gleichen Schlüsseln, aber unterschiedlichen Dimensionen oder Werten gemeinsam genutzt werden, wodurch Operationen ermöglicht werden, die die Felder schneller erhalten. Economized Storage wird jetzt für Skalarstrukturen verwendet (genau wie die meisten anderen Skalare), was ihre Verwendung mehr speichereffizient macht. Bestimmte arrayähnliche Operationen auf Strukturen (Verkettung, uniforme Zellspaß, num2cell) haben eine signifikante Beschleunigung erfahren. Darüber hinaus bietet die octave_scalar_map-Klasse jetzt eine einfachere Schnittstelle für die Arbeit mit skalaren Strukturen innerhalb einer C ++ - DLD-Funktion.
  • ** Zwei neue Formate sind zur Anzeige von Zahlen verfügbar:
  • format kurzes englisches Format lang eng
  • Beide Nummern werden in technischer Notation angezeigt, d. h. Mantisse + Exponent, wobei der Exponent ein Vielfaches von 3 ist.
  • ** Die folgenden Funktionen sind neu in Octave 3.4:
  • accdim erfcx nfields pqpnonneg uigetdir bitpack file_read nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl pbaspect replems uimenu cbrt ifelse pie3 zurücksetzen whitebg curl ishermitian powerset rsf2csf hacken isindex puffer saveas daspect luupdate ppint stradredivergenz merge ppjumps textread
  • ** Die Verwendung der Bildfunktion zum Anzeigen von Bildern mit externen Programmen wie z. B. display, xv und xloadimage wird nicht mehr unterstützt. Die Funktion image_viewer wurde ebenfalls entfernt.
  • ** Das Verhalten von Strukturzuweisungen zu Nicht-Strukturwerten wurde geändert. Zuvor war es möglich, einen beliebigen Wert zu überschreiben: a = 1; a.x = 2;
  • Dies ist nicht mehr möglich, es sei denn a ist eine leere Matrix oder ein leeres Zellenfeld.
  • ** Die dlmread-Funktion wurde erweitert, um einen benutzerdefinierten Wert für leere Felder anzugeben.
  • ** Die Funktionen dlmread und dlmwrite wurden so geändert, dass sie Datei-IDs (wie von fopen zurückgegeben) zusätzlich zu Dateinamen akzeptieren.
  • ** Octave kann jetzt den Interpreter-Overhead eines anonymen Funktions-Handles optimieren, wenn die Funktion einfach eine andere Funktion aufruft oder mit einigen ihrer Parameter an bestimmte Werte gebunden ist. Beispiel: f = @ (x) Summe (x, 1);
  • Wenn f aufgerufen wird, wird der Aufruf an @sum mit der angehängten Konstanten 1 weitergeleitet, und der anonyme Funktionsaufruf erfolgt nicht auf dem Aufruf-Stack.
  • Veraltete Funktionen.
  • Die folgenden Funktionen sind in Octave 3.2 veraltet und werden aus Octave 3.6 entfernt (oder welche Version auch immer die zweite Hauptversion nach 3.2 ist):
  • create_set spcholinv splum dmult spcumprod spmax icommand spcumsum spmin irawcommand spdet spprod lchol spdiag spqr loadimage spfind spsum mark_as_befehl sphcat spsumsq mark_as_rawcommand spin spvcat spatan2 spkron str2mat spchol sprchol unmark_command spchol2inv split unmark_rawcommand
  • Die folgenden Funktionen sind in Octave 3.4 veraltet und werden aus Octave 3.8 entfernt (oder welche Version auch immer die zweite Hauptversion nach 3.4 ist):
  • autocor cellidx gammai krylovb Werte autocov Versand glpkmex replot betai fstat is_global saveimage
  • Aus Gründen der Kompatibilität mit Matlab entspricht mu2lin (x) nun mu2lin (x, 0).
  • Die ARPACK-Bibliothek wird jetzt mit Octave verteilt, sodass sie beim Erstellen von Octave nicht mehr als externe Abhängigkeit verfügbar sein muss.

Was ist neu in Version 3.2.3:

  • Octave 3.2.3 ist eine Bug-Fixing-Version

Was ist neu in Version 3.0.4:

  • Octave 3.0.4 ist ein Fehlerbehebungs-Release. Die meisten seit der Veröffentlichung von Version 3.0.3 gemeldeten Fehler wurden behoben. Bitte beachten Sie, dass Octave 3.0 sich deutlich von Octave 2.1.x unterscheidet, insbesondere in Bezug auf Grafiken, Pfad-Handling und eingebaute Variablen.

Ähnliche Software

bf
bf

2 Jun 15

Project Fortress
Project Fortress

2 Jun 15

Aubit 4GL compiler
Aubit 4GL compiler

20 Feb 15

4tH compiler
4tH compiler

20 Feb 15

Andere Software von Entwickler John W. Eaton

Octave
Octave

2 Jun 15

Kommentare zu GNU Octave

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!