Dón*_*nal 184 variables matlab types
MATLAB是否有一个函数/运算符来指示变量的类型(类似于typeofJavaScript中的运算符)?
Dan*_*ant 228
使用该class功能
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
Run Code Online (Sandbox Code Playgroud)
Dim*_*ima 67
class() 功能相当于 typeof()
您还可以使用isa()检查变量是否属于特定类型.如果你想更具体的,你可以使用ischar(),isfloat(),iscell(),等.
gno*_*ice 43
另一个相关功能是whos.它将列出给定工作空间中变量的各种信息(维度,字节大小,类型).
>> a = [0 0 7];
>> whos a
Name Size Bytes Class Attributes
a 1x3 24 double
>> b = 'James Bond';
>> whos b
Name Size Bytes Class Attributes
b 1x10 20 char
Run Code Online (Sandbox Code Playgroud)
由于没有人提到它,MATLAB还具有该metaclass函数,该函数返回带有有关传入实体各种信息的对象。这些meta.class对象对于继承测试(通过通用比较运算符)很有用。
例如:
>> metaclass(magic(1))
ans =
class with properties:
Name: 'double'
Description: ''
DetailedDescription: ''
Hidden: 0
Sealed: 0
Abstract: 0
Enumeration: 0
ConstructOnLoad: 0
HandleCompatible: 0
InferiorClasses: {0×1 cell}
ContainingPackage: [0×0 meta.package]
RestrictsSubclassing: 0
PropertyList: [0×1 meta.property]
MethodList: [272×1 meta.method]
EventList: [0×1 meta.event]
EnumerationMemberList: [0×1 meta.EnumeratedValue]
SuperclassList: [0×1 meta.class]
>> ?containers.Map <= ?handle
ans =
logical
1
Run Code Online (Sandbox Code Playgroud)
我们可以看到,class(someObj)它等于Name的结果字段metaclass(someObj)。