MATLAB Optionale Argumente
In diesem Tutorial wird erläutert, wie Sie die optionalen Argumente einer Funktion mithilfe der Eigenschaften nargin
und varargin
in MATLAB festlegen.
Setzen der optionalen Argumente einer Funktion mit Hilfe der Eigenschaften varargin
und nargin
in MATLAB
Sie können einer Funktion mit der Eigenschaft varargin
in den Klammern des Funktionsnamens eine beliebige Anzahl von Eingaben zuweisen und mit der Eigenschaft nargin
die Anzahl der an die Funktion übergebenen Eingaben überprüfen. Erstellen Sie beispielsweise eine Funktion, die eine beliebige Anzahl von Eingaben mit der Eigenschaft varargin
akzeptiert, und ermitteln Sie dann die Anzahl der Eingaben mit der Eigenschaft nargin
. Siehe den Code unten.
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
Ausgabe:
Number_of_inputs =
3
Wie Sie sehen können, haben wir drei Eingaben in der Funktion übergeben, die die Gesamtzahl der Eingaben zurückgeben. Die varargin
enthält ein Array der Eingaben, die Sie je nach Bedarf verwenden können. Lassen Sie uns zum Beispiel die Anzahl der Eingaben ermitteln und diese Eingaben dann mit einer for
-Schleife drucken. Siehe den Code unten.
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
Ausgabe:
2
Hello
1 2 3
Wie Sie in der Ausgabe sehen können, wurden die Eingaben angezeigt. Sie können also den Index verwenden, um eine bestimmte Eingabe im Zellenarray varargin
zu speichern und sie dann gemäß Ihren Anforderungen zu verwenden. Alle diese Eingaben sind optional. Wenn Sie jedoch einige obligatorische Eingaben hinzufügen möchten, können Sie diese vor dem varargin
hinzufügen. Beachten Sie, dass Sie während des Funktionsaufrufs die obligatorischen Eingaben hinzufügen müssen. Andernfalls gibt die Funktion einen Fehler aus. Fügen Sie beispielsweise zwei obligatorische Argumente hinzu und fügen Sie sie dann hinzu, um die Ausgabe zu erhalten. Die optionalen Argumente werden angezeigt. Siehe den Code unten.
sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
output = x+y;
for i=1:nargin-2
disp(varargin{i})
end
end
Ausgabe:
1 2 3
Hello
sum =
5
Wie Sie in der Ausgabe sehen können, wurden die ersten beiden Eingaben hinzugefügt, um die Summe zu erhalten, und die optionalen Argumente werden angezeigt. Beachten Sie, dass wir zwei von nargin
subtrahiert haben, weil nargin
die Gesamtzahl der Eingaben angibt, nicht die im Zellenarray varargin
vorhandenen Eingaben. Überprüfen Sie diesen Link, um weitere Informationen zur Eigenschaft varargin
zu erhalten.