Jawaban:
Gunakan class
fungsinya
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
Fungsi terkait lainnya adalah whos
. Ini akan mencantumkan semua jenis informasi (dimensi, ukuran byte, tipe) untuk variabel di ruang kerja yang diberikan.
>> 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
Karena tidak ada yang menyebutkannya, MATLAB juga memiliki metaclass
fungsi, yang mengembalikan objek dengan berbagai bit informasi tentang entitas yang lewat. Inimeta.class
Objek objek ini dapat berguna untuk pengujian warisan (melalui operator pembanding umum).
Sebagai contoh:
>> 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
Kita dapat melihat bahwa class(someObj)
itu setara dengan Name
bidang hasil metaclass(someObj)
.
class () persis bekerja seperti operator typeof Javascript .
Untuk mendapatkan rincian lebih lanjut tentang variabel yang dapat digunakan whos perintah atau () whos fungsi.
Berikut adalah contoh kode yang dieksekusi pada Command Window MATLAB R2017a .
>> % Define a number
>> num = 67
num =
67
>> % Get type of variable num
>> class(num)
ans =
'double'
>> % Define character vector
>> myName = 'Rishikesh Agrawani'
myName =
'Rishikesh Agrwani'
>> % Check type of myName
>> class(myName)
ans =
'char'
>> % Define a cell array
>> cellArr = {'This ', 'is ', 'a ', 'big chance to learn ', 'MATLAB.'}; % Cell array
>>
>> class(cellArr)
ans =
'cell'
>> % Get more details including type
>> whos num
Name Size Bytes Class Attributes
num 1x1 8 double
>> whos myName
Name Size Bytes Class Attributes
myName 1x17 34 char
>> whos cellArr
Name Size Bytes Class Attributes
cellArr 1x5 634 cell
>> % Another way to use whos i.e using whos(char_vector)
>> whos('cellArr')
Name Size Bytes Class Attributes
cellArr 1x5 634 cell
>> whos('num')
Name Size Bytes Class Attributes
num 1x1 8 double
>> whos('myName')
Name Size Bytes Class Attributes
myName 1x17 34 char
>>
if ( string(class(b)) == 'double' ) fprintf(1, 'b is double'); end