English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB-GNU Octave Tutorial

GNU Octave ist eine wie MATLAB ähnliche höhere Programmiersprache, die mit MATLAB weitgehend kompatibel ist. Es wird auch für numerische Berechnungen verwendet

GNU Octave teilt mit MATLAB die folgenden Gemeinsamkeiten-

  • Matrizen sind ein grundlegendes Datentyp

  • Es unterstützt eingebaut die Unterstützung für Komplexe

  • Es verfügt über eingebaute mathematische Funktionen und Bibliotheken

  • Es unterstützt Funktionen, die vom Benutzer definiert werden

GNU Octave ist auch Software, die kostenlos neu verteilt werden kann. Sie können sie gemäß den Bedingungen der GNU General Public License (GPL), die von der Free Software Foundation veröffentlicht wurde, neu verteilen und/oder ändern Sie es

MATLAB vs. Octave

Die meisten MATLAB-Programme laufen in Octave, aber einige Octave-Programme können in MATLAB nicht ausgeführt werden, weil Octave einige Syntax unterstützt, die MATLAB nicht unterstützt

Zum Beispiel unterstützt MATLAB nur einfache Anführungszeichen, aber Octave unterstützt sowohl einfache als auch doppelte Anführungszeichen, um Strings zu definieren. Wenn Sie nach einem Tutorial für Octave suchen, lesen Sie bitte das Tutorial von Anfang an, das sowohl MATLAB als auch Octave abdeckt

Kompatible Beispiele

Fast alle in diesem Tutorial vorgestellten Beispiele sind mit MATLAB und Octave kompatibel. Lassen Sie uns den folgenden Beispiel versuchen, um dasselbe Ergebnis in MATLAB und Octave zu erzeugen, ohne Änderungen an der Syntax vorzunehmen-

Dieser Beispiel ist die Funktion g = xe- (x 2 + y 2)Erstellen3D-Surface-Plot. 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 das Folgende an3-D-Mapping-

Inkompatible Beispiele

Obwohl alle Kernfunktionen von MATLAB in Octave verwendet werden können, stimmen einige Funktionen (z.B. Differenzial- und Integralrechnung) in beiden Sprachen nicht vollständig überein. Dieses Tutorial versucht, zwei Beispiele zu geben, deren Syntax unterschiedlich ist.

Beachten Sie das folgende Beispiel, bei dem MATLAB und Octave verschiedene Funktionen verwenden, um die Fläche der Kurve zu erhalten: f(x)= x 2 cos(x)bedeutet−4≤x≤9Hier ist die MATLAB-Version des Codes-

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
display('Fläche: '), disp(double(a));

Wenn Sie die Datei ausführen, zeichnet MATLAB das Diagramm-

Zeige das folgende Ergebnis an

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Fläche: 
   0.3326

Um jedoch die gleiche Kurve in Octave darzustellen, müssen Sie folgende verwenden:symbolicPaket-

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('Fläche: '), disp(double(a));