프로그래밍/매트랩

매트랩 데이터 타입

에이티에스 2023. 8. 9. 22:49
728x90

 

MATLAB에는 유형 선언이나 차원 문이 필요하지 않습니다. MATLAB은 새 변수 이름을 발견할 때마다 변수를 만들고 적절한 메모리 공간을 할당합니다.

 

변수가 이미 존재하는 경우, MATLAB은 원래 내용을 새 내용으로 바꾸고 필요한 경우 새 저장 공간을 할당합니다.

 

예를 들어

Total = 42

위의 명령문은 'Total'이라는 1×1 행렬을 만들고 그 행렬에 값 42를 저장합니다.

 

MATLAB에서 사용할 수 있는 데이터형

MATLAB은 15가지 기본 데이터형을 제공합니다. 모든 데이터형은 행렬 또는 배열 형식의 데이터를 저장합니다. 이 행렬 또는 배열의 크기는 최소 0×0이며, 이 크기는 행렬 또는 배열 크기에 관계없이 커질 수 있습니다.

다음 표는 MATLAB에서 가장 일반적으로 사용되는 데이터 유형을 보여줍니다 

 

Sr.No.데이터 유형 및 설명

NO 데이터 유형 및 설명
1 int8  8비트 부호 있는 정수
2 uint8  8비트 부호 없는 정수
3 int16  16비트 부호 있는 정수
4 uint16 16비트 부호 없는 정수
5 int32 32비트 부호 있는 정수
6 uint32 32비트 부호 없는 정수
7 int64 64비트 부호 있는 정수
8 uint64 64비트 부호 없는 정수
9 single 단정밀도 수치 데이터
10 double 배정밀도 수치 데이터
11 logical 논리값 1 또는 0은 각각 true와 false를 나타냅니다
12 char 문자 데이터(문자열은 문자로 구성된 벡터로 저장됨)
13 cell array  각각 다른 차원 및 데이터 형식의 배열을 저장할 수 있는 인덱싱된 셀의 배열입니다
14 Structure
C와 유사한 구조체, 각 구조체에는 서로 다른 차원 및 데이터 형식의 배열을 저장할 수 있는 명명된 필드가 있습니다.
15 function handle 함수에 대한 포인터
16 user classes 사용자 정의 클래스에서 생성된 개체
17 Java classes Java 클래스에서 생성된 객체

 

예시

다음 코드로 스크립트 파일을 만듭니다 -

str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)

 

위의 코드가 컴파일되고 실행될 때, 그것은 다음과 같은 결과를 생성 합니다.

str = Hello World!
n =  2345
d =  2345
un = 790
rn = 5678.9
c =  5679

 

데이터 형식 변환

MATLAB은 값을 한 데이터형에서 다른 데이터형으로 변환하기 위한 다양한 함수를 제공합니다. 다음 표는 데이터 유형 변환 함수를 보여줍니다 -

 

Function 설명
char 문자형 배열로 변환(string)
int2str 정수 데이터를 문자열로 변환
mat2str 행렬을 문자열로 변환
num2str 숫자를 문자열로 변환
str2double 문자열을 배정밀도 값으로 변환
str2num 문자열을 숫자로 변환
native2unicode 숫자 바이트를 유니코드 문자로 변환
unicode2native 유니코드 문자를 숫자 바이트로 변환
base2dec  기본 N 숫자 문자열을 10진수로 변환
bin2dec 이진수 문자열을 10진수로 변환
dec2base 문자열에서 10진수를 기본 N 숫자로 변환
dec2bin 문자열에서 10진수를 이진수로 변환
dec2hex 문자열에서 10진수를 16진수로 변환
hex2dec 16진수 문자열을 10진수로 변환
hex2num 16진수 문자열을 배정밀도 숫자로 변환
num2hex single과 double을 IEEE 16진수 문자열로 변환
cell2mat 셀형 배열을 숫자형 배열로 변환하기
cell2strcut 셀형 배열을 구조체형 배열로 변환하기
cellstr 문자형 배열에서 string형으로 구성된 셀형 배열 만들기
mat2cell 배열을 잠재적으로 다른 크기의 셀이 있는 셀형 배열로 변환
num2cell 배열을 일정한 크기의 셀이 있는 셀형 배열로 변환하기
struct2cell 구조체를 셀형 배열로 변환하기

 

데이터 유형 결정

MATLAB은 변수의 데이터형을 식별하기 위한 다양한 함수를 제공합니다.

다음 표는 변수의 데이터 유형을 결정하기위한 함수를 제공합니다.

 

Function 설명
is 상태 검색
isa 입력이 지정된 클래스의 객체인지 확인
iscell 입력값이 셀형 배열인지 여부 확인
iscellstr 입력값이 string형으로 구성된 셀형 배열인지 여부 확인
ischar item이 문자형 배열인지 확인
isfield 입력이 구조체형 배열 필드인지 여부 확인
isfloat 입력값이 부동소수점 배열인지 확인
ishghandle True - Handle Graphics 개체 핸들
isinteger 입력값이 정수 배열인지 확인
isjava 입력이 Java 객체인지 확인
islogical 입력값이 논리형 배열인지 확인
isnumeric 입력값이 숫자형 배열인지 확인
isobject 입력값이 MATLAB 객체인지 확인하기
isreal 입력이 Real 배열인지 확인
isscalar 입력값이 스칼라인지 여부 확인
isstr 입력값이 문자형 배열인지 확인
isstruct 입력값이 구조체형 배열인지 여부 확인
isvector 입력값이 벡터인지 여부 확인
class 객체의 클래스 결정
validateatributes 배열의 유효성 확인
whos Workspace의 변수 나열(크기 및 유형 포함)

 

예시

다음 코드로 스크립트 파일을 만듭니다 -

x = 3
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
 
x = 23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
 
x = [1 2 3]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
 
x = 'Hello'
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

 

파일을 실행할 때, 다음과 같은 결과를 생성합니다. 

x = 3
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x = 23.540
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x =

          1          2          3

ans = 0
ans = 1
ans = 1
ans = 0
x = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0
728x90
반응형
그리드형

'프로그래밍 > 매트랩' 카테고리의 다른 글

매트랩 다항식 Polynomials  (0) 2023.08.11
매트랩 적분 Integration  (0) 2023.08.10
매트랩 미분 Differential  (0) 2023.08.10
매트랩 미적분학 Calculus  (0) 2023.08.10
매트랩 그래프 (플로팅)  (0) 2023.08.09