quantize
quantizer
객체를 사용한 숫자형 데이터 양자화
설명
는 y
= quantize(q
,x
)quantizer
객체 q
를 사용하여 x
를 양자화합니다.
x
가 숫자형 배열이면x
의 각 요소가 양자화됩니다. 출력y
는 내장 double형으로 반환됩니다.x
가 셀형 배열이면 셀형 배열의 각 숫자형 요소가 양자화됩니다. 출력y
의 필드는 내장 double형으로 반환됩니다.x
가 구조체이면x
의 각 숫자형 필드가 양자화됩니다. 출력y
의 필드는 내장 double형으로 반환됩니다.
quantize
는 x
의 비숫자형 요소나 필드를 변경하지 않으며, 비숫자형 값에 대해 경고를 생성하지도 않습니다.
quantizer
객체 상태 max
, min
, noverflows
, nunderflows
, noperations
는 quantize
에 대한 호출 중에 업데이트되고, reset
에 대한 호출이 이루어질 때까지 누계가 유지됩니다.
예제
데이터를 사용자 지정 정밀도 부동소수점 데이터형으로 양자화하기
quantize
를 사용하여, 데이터를 사용자 지정 정밀도 부동소수점 데이터형으로 양자화합니다.
x = linspace(-15,15,1000); q = quantizer('float','floor',[6 3]); range(q)
ans = 1×2
-14 14
y = quantize(q,x);
Warning: 68 overflow(s) occurred in the fi quantize operation.
plot(x,y); title(tostring(q))
고정소수점 데이터형으로 양자화하기
quantize
를 사용하여, 데이터를 워드 길이가 6비트이고 소수부 길이가 2비트인 고정소수점 데이터형으로 양자화하고 내림하고 오버플로 시 래핑합니다.
x = linspace(-15,15,1000); q = quantizer('fixed','floor','wrap',[6 2])
q = DataMode = fixed RoundMode = floor OverflowMode = wrap Format = [6 2]
range(q)
ans = 1×2
-8.0000 7.7500
y = quantize(q,x);
Warning: 468 overflow(s) occurred in the fi quantize operation.
plot(x,y); title(tostring(q))
quantize
를 사용하여, 데이터를 워드 길이가 3비트이고 소수부 길이가 2비트인 고정소수점 데이터형으로 양자화하고 수렴(Convergent) 반올림을 수행하고 오버플로 시 래핑합니다.
q = quantizer('fixed','convergent','wrap',[3 2]); x = (-2:eps(q)/4:2)'; y = quantize(q,x);
Warning: 33 overflow(s) occurred in the fi quantize operation.
plot(x,[x,y],'.-'); title(tostring(q)); axis square
입력 인수
q
— 양자화에 사용할 데이터형 속성
quantizer
객체
양자화에 사용할 데이터형 속성으로, quantizer
객체로 지정됩니다.
예: q = quantizer('fixed','ceil','saturate',[5 4]);
x
— 양자화할 데이터
스칼라 | 벡터 | 행렬 | 다차원 배열 | 셀형 배열 | 구조체
양자화할 데이터로, 스칼라, 벡터, 행렬, 다차원 배열, 셀형 배열 또는 구조체로 지정됩니다.
x
가 숫자형 배열이면x
의 각 요소가 양자화됩니다.x
가 셀형 배열이면 셀형 배열의 각 숫자형 요소가 양자화됩니다.x
가 구조체이면x
의 각 숫자형 필드가 양자화됩니다.
quantize
는 x
의 비숫자형 요소나 필드를 변경하지 않으며, 비숫자형 값에 대해 경고를 생성하지도 않습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| struct
| cell
복소수 지원 여부: 예
x1,x2,…
— (개별 요소로) 양자화할 데이터
스칼라 | 벡터 | 행렬 | 다차원 배열 | 셀형 배열 | 구조체
(개별 요소로) 양자화할 데이터로, 스칼라, 벡터, 행렬, 다차원 배열, 셀형 배열 또는 구조체로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| struct
| cell
복소수 지원 여부: 예
출력 인수
y
— 양자화된 데이터
스칼라 | 벡터 | 행렬 | 다차원 배열 | 셀형 배열 | 구조체
양자화된 데이터로, 스칼라, 벡터, 행렬, 다차원 배열, 셀형 배열 또는 구조체로 반환됩니다.
x
가 숫자형 배열이면 출력y
는 내장 double형으로 반환됩니다.x
가 셀형 배열이면 출력y
의 필드는 내장 double형으로 반환됩니다.x
가 구조체이면 출력y
의 필드는 내장 double형으로 반환됩니다.
[y1,y2,…]
— (개별 요소로) 양자화된 데이터
스칼라 | 벡터 | 행렬 | 다차원 배열 | 셀형 배열 | 구조체
(개별 요소로) 양자화된 데이터로, 스칼라, 벡터, 행렬, 다차원 배열, 셀형 배열 또는 구조체로 반환됩니다.
버전 내역
R2012b에 개발됨R2021b: quantize
함수의 반올림 동작 변경 사항
이전 릴리스에서 quantize
는 범위
의 값에 대해서는 무한대 방향으로 올림하고, 범위 realmax
< input < realmax + 0.5*eps
(realmax)-realmax > x > -realmax - 0.5*eps
의 값에 대해서는 음수 무한대 방향으로 내림합니다. R2021b부터 이러한 범위의 값은 사용된 반올림 방법에 따라 다음과 같이 양자화됩니다.
반올림 방법 | 범위 realmax < input < realmax + 0.5*eps(realmax) 의 값은 다음으로 올림됨 | 범위 -realmax > x > -realmax - 0.5*eps 의 값은 다음으로 내림됨 |
---|---|---|
floor | realmax (x < realmax + eps 인 경우) | -Inf |
ceil | Inf | -realmax (x > -realmax - eps 인 경우) |
round | realmax | -realmax |
convergent | realmax | -realmax |
fix | realmax (x < realmax + eps 인 경우) | -realmax (x > -realmax - eps 인 경우) |
nearest | realmax | -realmax |
참고 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)