MATLAB a-t-il une fonction / opérateur qui indique le type d'une variable (similaire à l' typeof
opérateur en JavaScript)?
188
Utilisez la class
fonction
>> 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()
function est l'équivalent detypeof()
Vous pouvez également utiliser
isa()
pour vérifier si une variable est d'un type particulier. Si vous voulez être encore plus précis, vous pouvez utiliserischar()
,isfloat()
,iscell()
, etc.la source
Une autre fonction connexe est
whos
. Il listera toutes sortes d'informations (dimensions, taille d'octet, type) pour les variables dans un espace de travail donné.la source
Soyez prudent lorsque vous utilisez la
isa
fonction. Cela sera vrai si votre objet est du type spécifié ou de l' une de ses sous-classes. Vous devez utiliserstrcmp
avec laclass
fonction pour tester si l'objet est spécifiquement de ce type et non d'une sous-classe.la source
Puisque personne ne l'a mentionné, MATLAB a également la
metaclass
fonction, qui retourne un objet avec divers bits d'informations sur l'entité transmise. Celles-cimeta.class
objets peuvent être utiles pour des tests d'héritage (via des opérateurs de comparaison courants).Par exemple:
Nous pouvons voir que cela
class(someObj)
équivaut auName
champ du résultat demetaclass(someObj)
.la source
MATLAB - Vérification du type de variables
Voici l'exemple de code exécuté sur la fenêtre de commande de MATLAB R2017a .
la source