MATLAB에 변수 유형을 나타내는 함수 / 연산자가 typeof
있습니까 (자바 스크립트 의 연산자 와 유사 )?
답변
class
기능 사용
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
답변
class()
기능은 typeof()
isa()
변수가 특정 유형인지 확인하는 데 사용할 수도 있습니다 . 당신이 더 많은 특정을하고 싶다면, 당신이 사용할 수있는 ischar()
, isfloat()
, iscell()
, 등
답변
다른 관련 기능은 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
답변
isa
기능을 사용할 때주의하십시오 . 객체가 지정된 유형 이거나 하위 클래스 중 하나 인 경우에 해당됩니다. 객체와 구체적으로 하위 클래스가 아닌 해당 유형인지 테스트 strcmp
하려면 class
함수 와 함께 사용해야 합니다 .
답변
아무도 언급하지 않았기 때문에 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
우리는 의 결과 필드 class(someObj)
와 같은 것을 볼 수 있습니다 .Name
metaclass(someObj)
답변
MATLAB-변수 유형 확인
class () 는 Javascript의 typeof 연산자 와 정확하게 작동합니다 .
변수에 대한 자세한 내용을 얻으려면 whos 명령 또는 whos () 함수를 사용할 수 있습니다 .
다음은 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
>>