Diese Seite sagt,
Skripte und Funktionen
Skripte sind m-Dateien, die MATLAB enthalten Aussagen. MATLAB '' Funktionen '' sind eine andere Art von m-Datei. Der Größte Unterschied zwischen Skripten und Funktionen sind, dass Funktionen eingegeben haben und Ausgabeparameter. Skriptdateien kann nur auf die Variablen, die funktionieren sind in ihrer m-Datei fest codiert. Wie Sie können sehen, funktioniert viel mehr flexibel. Sie sind deshalb mehr geeignet für allgemeine Aufgaben das wird auf andere angewendet werden Daten.
Skripte sind nützlich für Aufgaben das ändert sich nicht. Sie sind auch ein Weg um eine bestimmte Sequenz von zu dokumentieren Aktionen, sagen wir einen Funktionsaufruf mit spezielle Parameterwerte, die sein können schwer zu merken.
Es gibt mehr feine Unterschiede zwischen Skripten und Funktionen. An ein Skript kann gedacht werden als Tastaturmakro: wenn Sie den Name des Skripts, alle Befehle, die darin enthalten sind, werden ausgeführt genau so, als hättest du diese getippt Befehle in das Befehlsfenster. Somit werden alle in der Skript wird dem Arbeitsbereich für hinzugefügt die aktuelle Sitzung. Außerdem, wenn eine der Variablen im Skript Datei haben den gleichen Namen wie die in Ihr aktueller Arbeitsbereich, die Werte von Diese Variablen im Arbeitsbereich sind geändert durch die Aktionen im Skript. Dies kann zu Ihrem Vorteil genutzt werden. Es kann auch unerwünschte Nebenwirkungen verursachen.
Im Gegensatz dazu sind Funktionsvariablen lokal für die Funktion. (Die Ausnahme ist es möglich zu deklarieren und benutze globale Variablen, aber das erfordert und explizite Maßnahmen von der Benutzer.) Der lokale Funktionsumfang Variablen geben Ihnen mehr Sicherheit und Flexibilität. Der einzige Weg (außer explizit deklarierte globale Variablen) um Informationen in und aus a zu bekommen Funktion ist durch durch die Variablen in den Parameterlisten.
Beispiel
Einer der Hauptunterschiede zwischen einem Skript und einer Funktion ist der Zugriff auf Variablen im Arbeitsbereich. Angenommen, Sie haben im Arbeitsbereich zwei Variablen definiert: a = 10
und b = 20
. Diese Variablen werden in der Befehlszeile der Haupteingabeaufforderung definiert.
Skriptdatei - display_mult.m
disp(a*b)
;
Beim Eingeben von display_mult
wird das Produkt von a
und b
im Arbeitsbereich angezeigt, d. h. 10*20
oder 200
.
Wenn Sie jedoch eine Funktion namens display_mult definiert haben, die in einer Datei mit demselben Namen definiert ist:
Funktionsdatei - display_mult.m
%Vor% Sie müssten die beiden Variablen als Argumente für den Funktionsaufruf angeben. Also, display_mult
würde diesmal nicht funktionieren, da a
und b
nicht im Arbeitsbereich der Funktion existieren. Sie müssten sie einschließen, indem Sie display_mult(a,b)
ausführen, was das gewünschte Ergebnis anzeigt.
Einfache Erklärung
Jede Anweisung in einem Skript entspricht der Eingabe in das Befehlsfenster von MATLAB. Sie speichern sie nur vorher in einer Datei!
Eine Funktion andererseits nimmt Argumente auf und ist ein "neuer" Arbeitsbereich, getrennt vom Hauptarbeitsbereich.
Hinweis: Das end
am Ende eines Funktionsaufrufs ist optional, aber ich möchte es hinzufügen, um die Dinge zu organisieren. Wenn Sie mehrere Funktionsdefinitionen in einer Datei haben, müssen sie natürlich mit end
enden. Außerdem können Sie kein Skript und keine Funktionsdefinition in derselben Datei haben.