Hauptinhalt

Validieren erforderlicher und optionaler positionsbezogener Argumente

R2026b

Positionsbezogene 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.

Siehe auch

|

Themen