fimath
고정소수점 수학 연산 설정 지정
설명
F = fimath
는 디폴트 fimath
속성 설정을 사용하여 fimath
객체를 만듭니다.
F = fimath(
는 하나 이상의 이름-값 쌍 인수를 사용하여 Name,Value
)fimath
객체의 속성을 지정합니다. 생성자에서 지정되지 않은 모든 속성은 디폴트 값을 사용합니다.
예제
디폴트 fimath 객체 만들기
이 예제에서는 디폴트 속성 설정을 사용하여 fimath
객체를 만드는 방법을 보여줍니다.
F = fimath
F = RoundingMethod: Nearest OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
fimath 객체의 속성 설정하기
객체 생성 시 이름-값 쌍을 사용하여 fimath
객체의 속성을 설정합니다. 예를 들어, 오버플로 동작을 포화로 설정하고 반올림 방법을 수렴(Convergent)으로 설정합니다.
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = RoundingMethod: Convergent OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
입력 인수
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')
CastBeforeSum
— 두 피연산자가 덧셈 전에 합산 결과의 데이터형으로 형변환되는지 여부
false
또는 0
(디폴트 값) | true
또는 1
두 피연산자가 덧셈 전에 합산 결과의 데이터형으로 형변환되는지 여부로, 숫자형 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다.
참고
SumMode
가 FullPrecision
으로 설정된 경우 이 속성은 표시되지 않습니다.
예: F = fimath('CastBeforeSum',true)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
MaxProductWordLength
— 곱셈 데이터형에 대해 허용 가능한 최대 워드 길이
65535
(디폴트 값) | 양의 정수
곱셈 데이터형에 대해 허용 가능한 최대 워드 길이로, 양의 정수로 지정됩니다.
예: F = fimath('MaxProductWordLength',16)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
MaxSumWordLength
— 합산 데이터형에 대해 허용 가능한 최대 워드 길이
65535 (디폴트 값) | 양의 정수
합산 데이터형에 대해 허용 가능한 최대 워드 길이로, 양의 정수로 지정됩니다.
예: F = fimath('MaxSumWordLength',16)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
OverflowAction
— 오버플로인 경우 수행할 동작
'Saturate'
(디폴트 값) | 'Wrap'
오버플로인 경우 수행할 동작으로, 다음 값 중 하나로 지정됩니다.
'Saturate'
– 오버플로 시 고정소수점 범위의 최댓값 또는 최솟값으로 포화됩니다.'Wrap'
– 오버플로 시 래핑됩니다. 이 모드는 2의 보수 오버플로라고도 합니다.
예: F = fimath('OverflowAction','Wrap')
데이터형: char
ProductBias
— 곱셈 데이터형의 편향
0
(디폴트 값) | 부동소수점 숫자
곱셈 데이터형의 편향으로, 부동소수점 숫자로 지정됩니다.
예: F = fimath('ProductBias',1)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductFixedExponent
— 곱셈 데이터형의 고정 지수
-30
(디폴트 값) | 0이 아닌 정수
곱셈 데이터형의 고정 지수로, 0이 아닌 정수로 지정됩니다.
참고
ProductFractionLength
는 ProductFixedExponent
의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.
예: F = fimath('ProductFixedExponent',-20)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductFractionLength
— 곱셈 데이터형의 소수부 길이
30
(디폴트 값) | 0이 아닌 정수
곱셈 데이터형의 소수부 길이(비트 수)로, 0이 아닌 정수로 지정됩니다.
참고
ProductFractionLength
는 ProductFixedExponent
의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.
예: F = fimath('ProductFractionLength',20)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductMode
— 곱셈 데이터형이 결정되는 방식
'FullPrecision'
(디폴트 값) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
곱셈 데이터형이 결정되는 방식으로, 다음 값 중 하나로 지정됩니다.
'FullPrecision'
– 결과의 최대 정밀도가 유지됩니다.'KeepLSB'
– 최하위 비트를 유지합니다. 곱 연산 워드 길이를 지정합니다. 소수부 길이는 곱의 최하위 비트를 유지하도록 설정됩니다.'KeepMSB'
– 최상위 비트를 유지합니다. 곱 연산 워드 길이를 지정합니다. 소수부 길이는 곱의 최상위 비트를 유지하도록 설정됩니다.'SpecifyPrecision'
– 곱의 워드 길이와 소수부 길이 또는 기울기와 편향을 지정합니다.
예: F = fimath('ProductMode','KeepLSB')
데이터형: char
ProductSlope
— 곱셈 데이터형의 기울기
9.3132e-10
(디폴트 값) | 유한한 양의 부동소수점 숫자
곱셈 데이터형의 기울기로, 유한한 양의 부동소수점 숫자로 지정됩니다.
참고
이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.
예: F = fimath('ProductSlope',9.3132e-10)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductSlopeAdjustmentFactor
— 곱셈 데이터형의 기울기 조정 인자
1
(디폴트 값) | 1보다 크거나 같고 2보다 작은 부동소수점 숫자
곱셈 데이터형의 기울기 조정 인자로, 1보다 크거나 같고 2보다 작은 부동소수점 숫자로 지정됩니다.
참고
이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.
예: F = fimath('ProductSlopeAdjustmentFactor',1)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductWordLength
— 곱셈 데이터형의 워드 길이
32
(디폴트 값) | 양의 정수
곱셈 데이터형의 워드 길이(비트 수)로, 양의 정수로 지정됩니다.
예: F = fimath('ProductWordLength',64)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
RoundingMethod
— 사용할 반올림 방법
'Nearest'
(디폴트 값) | 'Ceiling'
| 'Convergent'
| 'Zero'
| 'Floor'
| 'Round'
사용할 반올림 방법으로, 다음 값 중 하나로 지정됩니다.
'Nearest'
– 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자는 양수 무한대 방향으로 올림합니다.'Ceiling'
– 양수 무한대 방향으로 올림합니다.'Convergent'
– 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자는 가장 가까운 짝수로 저장된 정수로 반올림합니다(최소 편향).'Zero'
– 0 방향으로 반올림합니다.'Floor'
– 음수 무한대 방향으로 내림합니다.'Round'
– 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자가 음수인 경우 음수 무한대 방향으로 내림하고, 양수인 경우 양수 무한대 방향으로 올림합니다.
예: F = fimath('RoundingMethod','Convergent')
데이터형: char
SumBias
— 합산 데이터형의 편향
0
(디폴트 값) | 부동소수점 숫자
합산 데이터형의 편향으로, 부동소수점 숫자로 지정됩니다.
예: F = fimath('SumBias',0)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumFixedExponent
— 합산 데이터형의 고정 지수
-30
(디폴트 값) | 0이 아닌 정수
합산 데이터형의 고정 지수로, 0이 아닌 정수로 지정됩니다.
참고
SumFractionLength
는 SumFixedExponent
의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.
예: F = fimath('SumFixedExponent',-20)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumFractionLength
— 합산 데이터형의 소수부 길이
30
(디폴트 값) | 0이 아닌 정수
합산 데이터형의 소수부 길이(비트 수)로, 0이 아닌 정수로 지정됩니다.
참고
SumFractionLength
는 SumFixedExponent
의 음수입니다. 한 속성을 변경하면 다른 속성도 변경됩니다.
예: F = fimath('SumFractionLength',20)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumMode
— 합산 데이터형이 결정되는 방식
'FullPrecision'
(디폴트 값) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
합산 데이터형이 결정되는 방식으로, 다음 값 중 하나로 지정됩니다.
'FullPrecision'
– 결과의 최대 정밀도가 유지됩니다.'KeepLSB'
– 최하위 비트를 유지합니다. 합산 데이터형의 워드 길이를 지정합니다. 소수부 길이는 합의 최하위 비트를 유지하도록 설정됩니다.'KeepMSB'
– 최상위 비트를 유지합니다. 합산 데이터형의 워드 길이를 지정합니다. 소수부 길이는 합의 최상위 비트를 유지하고 소수부 비트 수가 필요한 개수를 초과하지 않도록 유지합니다.'SpecifyPrecision'
– 합산 데이터형의 워드 길이와 소수부 길이 또는 기울기와 편향을 지정합니다.
예: F = fimath('SumMode','KeepLSB')
데이터형: char
SumSlope
— 합산 데이터형의 기울기
9.3132e-10
(디폴트 값) | 부동소수점 숫자
합산 데이터형의 기울기로, 부동소수점 숫자로 지정됩니다.
참고
이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.
예: F = fimath('SumSlope',9.3132e-10)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumSlopeAdjustmentFactor
— 합산 데이터형의 기울기 조정 인자
1
(디폴트 값) | 1보다 크거나 같고 2보다 작은 부동소수점 숫자
합산 데이터형의 기울기 조정 인자로, 1보다 크거나 같고 2보다 작은 부동소수점 숫자로 지정됩니다.
참고
이러한 속성 중 하나를 변경하면 다른 속성에 영향을 줍니다.
예: F = fimath('SumSlopeAdjustmentFactor',1)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumWordLength
— 합산 데이터형의 워드 길이
32
(디폴트 값) | 양의 정수
합산 데이터형의 워드 길이(비트 수)로, 양의 정수로 지정됩니다.
예: F = fimath('SumWordLength',64)
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
Simulink®에서 MATLAB® Function 블록으로 들어오는 고정소수점 신호는
fimath
객체에 할당됩니다. 모델 탐색기의 MATLAB Function 블록 대화 상자에서 이 객체를 정의합니다.생성 코드에서
fimath
객체를 만드는 데 사용합니다.fimath
객체의ProductMode
속성이FullPrecision
이외의 값으로 설정된 경우ProductWordLength
속성과ProductFractionLength
속성은 상수여야 합니다.fimath
객체의SumMode
속성이FullPrecision
이외의 값으로 설정된 경우SumWordLength
속성과SumFractionLength
속성은 상수여야 합니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
버전 내역
R2006a 이전에 개발됨R2021a: fi
, fimath
, numerictype
객체의 부정확한 속성 이름은 지원되지 않음
이전 릴리스에서는 fi
, fimath
, numerictype
객체의 부정확한 속성 이름을 사용할 경우 경고가 발생합니다. R2021a에서는 부정확한 속성 이름에 대한 지원이 제거되었습니다. 대신 정확한 속성 이름을 사용하십시오.
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)