¿MATLAB tiene una función / operador que indique el tipo de una variable (similar al typeof
operador en JavaScript)?
188
Usa la class
función
>> 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()
la función es el equivalente detypeof()
También puede usar
isa()
para verificar si una variable es de un tipo particular. Si quieres ser aún más específico, puede utilizarischar()
,isfloat()
,iscell()
, etc.fuente
Otra función relacionada es
whos
. Enumerará todo tipo de información (dimensiones, tamaño de byte, tipo) para las variables en un espacio de trabajo dado.fuente
Tenga cuidado al usar la
isa
función. Esto será cierto si su objeto es del tipo especificado o una de sus subclases. Tiene que usarstrcmp
con laclass
función para probar si el objeto es específicamente ese tipo y no una subclase.fuente
Como nadie lo mencionó, MATLAB también tiene la
metaclass
función, que devuelve un objeto con varios bits de información sobre la entidad transferida. Estosmeta.class
objetos pueden ser útiles para pruebas de herencia (a través de operadores de comparación comunes).Por ejemplo:
Podemos ver que
class(someObj)
es equivalente alName
campo del resultado demetaclass(someObj)
.fuente
MATLAB - Comprobando el tipo de variables
Aquí está el código de ejemplo ejecutado en la ventana de comandos de MATLAB R2017a .
fuente