Funktionen zur Argumentvalidierung
MATLAB definiert Funktionen zur Verwendung bei der Argumentvalidierung. Diese Funktionen unterstützen gängige Anwendungsmuster für die Validierung und liefern aussagekräftige Fehlermeldungen. Die folgenden Tabellen kategorisieren die Validierungsfunktionen von MATLAB® und beschreiben deren Verwendung.
Numerische Wertattribute
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Vergleich mit anderen Werten
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| |
|
| |
|
| |
|
|
Zugehörigkeit und Bereich
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| |
| value muss sich innerhalb des Bereichs befinden. |
Datentypen
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| Verwendet Klassendefinitionsbeziehungen |
|
| |
|
| |
|
| |
|
|
Größe
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| |
| value muss ein Skalar oder leer sein. | |
| value muss ein Vektor sein. | |
| value muss ein 1-mal-N-Zeilenvektor sein. | |
| value muss ein M-mal-1-Spaltenvektor sein. | |
| value muss eine M-mal-N-Matrix sein. |
Text
Name | Bedeutung | Bei Eingaben aufgerufene Funktionen |
|---|---|---|
|
| |
| path muss sich auf einen Ordner beziehen. | |
|
| Nicht zutreffend |
|
| Nicht zutreffend |
|
| Nicht zutreffend |
| varname muss ein gültiger Variablenname sein. |
Definieren von Validierungsfunktionen
Validierungsfunktionen sind MATLAB-Funktionen, die die Anforderungen an Werte überprüfen, die in Funktionen oder Eigenschaften eingegeben werden. Validierungsfunktionen bestimmen, wann Fehler ausgegeben werden und welche Fehlermeldungen angezeigt werden sollen.
Die für die Validierung verwendeten Funktionen weisen folgende Designelemente auf:
Validierungsfunktionen geben keine Ergebnisse zurück und ändern den Programmstatus nicht. Der einzige Zweck besteht darin, die Gültigkeit des Eingabewerts zu überprüfen.
Validierungsfunktionen müssen den zu validierenden Wert als Argument akzeptieren. Wenn die Funktion mehr als ein Argument akzeptiert, ist die erste Eingabe der zu validierende Wert.
Validierungsfunktionen basieren ausschließlich auf den Eingaben. Der Funktion stehen keine weiteren Werte zur Verfügung.
Validierungsfunktionen lösen einen Fehler aus, wenn die Validierung fehlschlägt.
Das Erstellen einer eigenen Validierungsfunktion ist sinnvoll, wenn Sie eine spezifische Validierung bereitstellen möchten, die mit den Validierungsfunktionen von MATLAB nicht verfügbar ist. Sie können eine Validierungsfunktion als lokale Funktion innerhalb der Funktionsdatei erstellen oder sie im MATLAB-Pfad ablegen. Um eine Häufung von Fehlermeldungen zu vermeiden, sollten Sie die Funktionsargumentvalidierung nicht innerhalb benutzerdefinierter Validierungsfunktionen verwenden.
Beispielsweise beschränkt die Funktion mustBeRealUpperTriangular die Eingabe auf reellwertige, obere Dreiecksmatrizen. Die Validierungsfunktion nutzt die Funktionen istriu und isreal.
function mustBeRealUpperTriangular(a) if ~(istriu(a) && isreal(a)) eidType = 'mustBeRealUpperTriangular:notRealUpperTriangular'; msgType = 'Input must be a real-valued, upper triangular matrix.'; error(eidType,msgType) end end
Wenn das Argument nicht vom richtigen Typ ist, löst die Funktion einen Fehler aus.
a = [1 2 3+2i; 0 2 3; 0 0 1]; mustBeRealUpperTriangular(a)
Input must be a real-valued, upper triangular matrix.