Verfügt MATLAB über eine Funktion / einen Operator, der den Typ einer Variablen angibt (ähnlich dem typeof
Operator in JavaScript)?
188
Verwenden Sie die class
Funktion
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
if ( string(class(b)) == 'double' ) fprintf(1, 'b is double'); end
class()
Funktion ist das Äquivalent vontypeof()
Sie können auch
isa()
überprüfen, ob eine Variable von einem bestimmten Typ ist. Wenn Sie noch spezifischere sein wollen, können Sie verwendenischar()
,isfloat()
,iscell()
etc.quelle
Eine andere verwandte Funktion ist
whos
. Es werden alle Arten von Informationen (Dimensionen, Bytegröße, Typ) für die Variablen in einem bestimmten Arbeitsbereich aufgelistet.quelle
Seien Sie vorsichtig, wenn Sie die
isa
Funktion verwenden. Dies gilt, wenn Ihr Objekt vom angegebenen Typ oder einer seiner Unterklassen ist. Sie müssenstrcmp
mit derclass
Funktion testen, ob das Objekt speziell von diesem Typ und nicht von einer Unterklasse ist.quelle
Da es niemand erwähnt hat, hat MATLAB auch die
metaclass
Funktion, die ein Objekt mit verschiedenen Informationen über die übergebene Entität zurückgibt. Diesemeta.class
Objekte können für Vererbungstests nützlich sein (über allgemeine Vergleichsoperatoren).Beispielsweise:
Wir können sehen, dass
class(someObj)
dies demName
Feld des Ergebnisses von entsprichtmetaclass(someObj)
.quelle
MATLAB - Überprüfung des Variablentyps
Hier ist der Beispielcode, der im Befehlsfenster von MATLAB R2017a ausgeführt wird .
quelle