Validieren erforderlicher und optionaler positionsbezogener Argumente
R2026bPositionsbezogene Argumente sind Argumente mit einer Position und einer Reihenfolge, die bei der Funktionserklärung definiert werden. Die Position des in der Argumentliste übergebenen Wertes muss der Reihenfolge entsprechen, in der das Argument im Block arguments erklärt wird. Alle Argumentnamen im Block arguments müssen eindeutig sein.
Positionsbezogene Argumente im Block arguments sind zum Aufrufen der Funktion erforderlich, wenn im Argument kein Standardwert definiert ist. Ist ein Standardwert in der Argumenterklärung angegeben, ist das positionsbezogene Argument optional, da MATLAB® den Standardwert verwenden kann, wenn mit dem Funktionsaufruf kein Wert übergeben wird.
Festlegen eines Standardwerts für optionale Argumente
Der Standardwert kann eine Konstante oder ein Ausdruck sein, der ein Ergebnis erzeugt, das die Bedingungen der Argumenterklärung erfüllt. Der Ausdruck kann sich auf Argumente beziehen, die im Block arguments vor dem Ausdruck stehen, jedoch nicht Argumente, die im Block nach dem Ausdruck stehen.
MATLAB wertet den Standardwert-Ausdruck nur aus, wenn das Argument nicht im Funktionsaufruf enthalten ist.
NAlle optionalen Argumente müssen nach allen erforderlichen Argumente im Block arguments positioniert werden. In diesem Argumentblock weisen maxval und minval beispielsweise Standardwerte auf und sind daher optional.
function myFunction(x,y,maxval,minval) arguments x (1,:) double y (1,:) double maxval (1,1) double = max(max(x),max(y)) minval (1,1) double = min(min(x),min(y)) end % Function code .... end
Sie können diese Funktion mit einer der folgenden Syntaxen aufrufen:
myFunction(x,y,maxval,minval) myFunction(x,y,maxval) myFunction(x,y)
Ein optionales positionsbezogenes Argument ist erforderlich, wenn die Position im Funktionsaufruf angegeben werden muss, um darauffolgende Argumente zu identifizieren. Wenn Sie also einen Wert für minval angeben möchten, müssen Sie ebenfalls einen Wert für maxval angeben.
Ignorierte positionsbezogene Argumente
MATLAB erlaubt es Ihnen, Argumente zu ignorieren, indem Sie ein Tildezeichen (~) statt des Arguments übergeben. Sie können eine Funktion definieren, die nicht verwendete positionsbezogene Argumente ignoriert, indem Sie an der Stelle des Arguments in der Funktionssignatur ein Tildezeichen (~) in den Argument-Block einfügen. Fügen Sie ein Tildezeichen (~) für jedes ignorierte Argument in der Funktionssignatur hinzu.
Ignorierte Argumente können keine Standardwerte aufweisen oder Klassen-, Größen- oder Validierungsfunktionen festlegen.
Das Tildezeichen (~) wird als optionales Argument behandelt, wenn es nicht von einem erforderlichen positionsbezogenen Argument gefolgt wird. In dieser Funktion stellt das Tildezeichen (~) beispielsweise ein optionales Argument dar.
function c = f(~) arguments ~ end % Function code end
Sie können diese Funktion ohne Argumente aufrufen.
c = f
Ebenfalls können Sie diese Funktion mit einem Argument aufrufen.
c = f(2)
In der folgenden Funktion stellt das Tildezeichen (~) ein erforderliches Argument dar.
function c = f(~,x) arguments ~ x end % Function code ... end
Aufrufe dieser Funktion müssen beide Argumente enthalten.
c = f(2,3)
Weitere Informationen zum Aufrufen von Funktionen mit ignorierten Eingaben finden Sie unter Ignore Inputs in Function Definitions.