cast
변수를 다른 데이터형으로 변환
설명
예제
int8 값을 uint8로 변환합니다.
8비트 정수로 구성된 벡터를 정의합니다.
a = int8([-5 5]);
a를 부호 없는 8비트 정수로 변환합니다. uint8 범위를 벗어나는 –5 값은 0으로 잘립니다.
b = cast(a,"uint8")b = 1×2 uint8 row vector
0 5
부호 있는 32비트 정수로 구성된 1×3 벡터를 만듭니다.
A = int32([-12 34 56])
A = 1×3 int32 row vector
-12 34 56
double 데이터형의 복소수를 만듭니다.
p = 1+2i
p = 1.0000 + 2.0000i
A를 데이터형 및 실수/복소수 여부가 변수 p와 동일해지도록 변환합니다.
B = cast(A,like=p)
B = 1×3 complex
-12.0000 + 0.0000i 34.0000 + 0.0000i 56.0000 + 0.0000i
부호 없는 32비트 정수의 요소 0으로 이루어진 2×3 행렬을 만듭니다.
A = zeros(2,3,"uint32")A = 2×3 uint32 matrix
0 0 0
0 0 0
double 데이터형의 2×2 희소 행렬을 만듭니다.
p = sparse(2,2,pi)
p = 2×2 sparse double matrix (1 nonzero)
(2,2) 3.1416
A를 데이터형과 희소성이 변수 p와 동일해지도록 변환합니다.
B = cast(A,like=p)
B = 2×3 sparse double matrix
All zero
입력 인수
입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. A의 데이터형은 내장 데이터형이거나 지정된 새 데이터형으로의 변환을 지원하는 다른 데이터형일 수 있습니다.
데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
복소수 지원 여부: 예
새로운 데이터형으로, "single", "double", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "logical" 또는 "char"로 지정됩니다.
프로토타입으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. p의 데이터형은 내장 데이터형이거나 입력 데이터형에서의 변환을 지원하는 다른 호환 가능 데이터형일 수 있습니다.
데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
복소수 지원 여부: 예
출력 인수
출력 배열로, 스칼라, 벡터, 행렬 또는 다차원 배열로 반환됩니다.
확장 기능
사용법 관련 참고 및 제한 사항:
컴파일할 때 열거형 입력값은 스칼라 값이어야 합니다. 열거형 요소로 구성된 배열은 지원되지 않습니다.
사용법 관련 참고 및 제한 사항:
컴파일할 때 열거형 입력값은 스칼라 값이어야 합니다. 열거형 요소로 구성된 배열은 지원되지 않습니다.
cast 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
cast 함수는 GPU 배열 입력값을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
구문
B = cast(A,like=p)에서 출력값B는p가gpuArray인 경우에만gpuArray가 됩니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
cast 함수는 분산 배열을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
구문
B = cast(A,like=p)에서 출력값B는p가 분산 배열인 경우에만 분산 배열이 됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨cast(A,newtype) 구문은 복소수 입력값을 변환할 때, 변환 결과값의 허수부가 0이더라도 실수/복소수 여부를 유지합니다.
예를 들어, double형의 복소수가 있다고 가정합니다. 이 숫자를 single형으로 변환합니다. 출력값은 허수부가 0인 single형의 복소수입니다.
a = complex(1,1e-48);
b = cast(a,"single")b = single 1.0000 + 0.0000i
whos
Name Size Bytes Class Attributes a 1x1 16 double complex b 1x1 8 single complex
0이 반환됩니다.tf = isreal(b)
tf = logical 0
비교하자면, 이전 릴리스에서는 동일한 숫자를 변환하면 single형의 실수가 반환되었습니다.
a = complex(1,1e-48);
b = cast(a,"single")b =
single
1whos
Name Size Bytes Class Attributes a 1x1 16 double complex b 1x1 4 single
1이 반환됩니다.tf = isreal(b)
tf = logical 1
R2022a부터 구문 cast(A,like=p)는 p의 데이터형이 MATLAB® 숫자형의 서브클래스이면 프로토타입 p와 일치하는 출력값을 반환합니다.
예를 들어 다음 코드는 이제 p와 데이터형이 동일한 출력값을 반환합니다.
p = matlab.lang.OnOffSwitchState.on; x = cast(1,like=p)
x =
OnOffSwitchState enumeration
onlogical인 x = 1을 반환합니다.R2021b부터 구문 cast(A,newtype)의 newtype 입력 인수는 대/소문자를 구분합니다. newtype은 새 데이터형을 나타내는 소문자로 구성된 문자형 벡터나 문자열로 지정해야 합니다.
예를 들어, double형 값을 int8 데이터형으로 변환하려면 cast(1.234,"int8")을 사용해야 합니다. 명령 cast(1.234,"Int8")을 실행하면 이제 오류가 발생합니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)