MATLAB - GNU Octave-Tutorial
GNU Octave ist eine höhere Programmiersprache wie MATLAB und größtenteils mit MATLAB kompatibel. Es wird auch für numerische Berechnungen verwendet.
Octave hat die folgenden gemeinsamen Merkmale mit MATLAB −
- Matrizen sind grundlegende Datentypen
- es hat eingebaute Unterstützung für komplexe Zahlen
- es hat eingebaute mathematische Funktionen und Bibliotheken
- es unterstützt benutzerdefinierte Funktionen
GNU Octave ist ebenfalls frei verteilbare Software. Sie dürfen es unter den Bedingungen der GNU General Public License (GPL), wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren.
MATLAB vs. Octave
Die meisten MATLAB-Programme laufen in Octave, aber einige der Octave-Programme laufen möglicherweise nicht in MATLAB, weil Octave eine Syntax zulässt, die MATLAB nicht zulässt.
Beispielsweise unterstützt MATLAB nur einfache Anführungszeichen, aber Octave unterstützt sowohl einfache als auch doppelte Anführungszeichen zum Definieren von Zeichenfolgen. Wenn Sie nach einem Tutorial zu Octave suchen, gehen Sie bitte dieses Tutorial von Anfang an durch, das sowohl MATLAB als auch Octave abdeckt.
Kompatible Beispiele
Fast alle in diesem Tutorial behandelten Beispiele sind sowohl mit MATLAB als auch mit Octave kompatibel. Lassen Sie uns das folgende Beispiel in MATLAB und Octave ausprobieren, das dasselbe Ergebnis ohne Syntaxänderungen erzeugt −
Dieses Beispiel erstellt eine 3D-Oberflächenkarte für die Funktion g =xe -(x 2 ). + y 2 ) . Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Wenn Sie die Datei ausführen, zeigt MATLAB die folgende 3D-Karte an −
Nicht kompatible Beispiele
Obwohl alle Kernfunktionen von MATLAB in Octave verfügbar sind, gibt es einige Funktionen, z. B. Differential- und Integrationsrechnung, die nicht genau in beiden Sprachen übereinstimmen. Dieses Tutorial hat versucht, beide Arten von Beispielen zu geben, wo sie sich in ihrer Syntax unterscheiden.
Betrachten Sie das folgende Beispiel, in dem MATLAB und Octave verschiedene Funktionen verwenden, um die Fläche einer Kurve zu erhalten:f(x) =x 2 cos(x) für −4 ≤ x ≤ 9. Es folgt die MATLAB-Version des Codes −
f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a));
Wenn Sie die Datei ausführen, zeichnet MATLAB den Graphen −
Das folgende Ergebnis wird angezeigt
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326
Aber um die Fläche derselben Kurve in Oktave anzugeben, müssen Sie symbolisch verwenden wie folgt paketieren −
pkg load symbolic symbols x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Area: '), disp(double(a));
MATLAB