Math Function
수학 함수 실행
라이브러리:
Simulink /
Math Operations
HDL Coder /
Math Operations
설명
Math Function 블록은 일반적인 다양한 수학 함수를 실행합니다.
Math Function 블록의 함수 파라미터 목록에서 다음 함수 중 하나를 선택할 수 있습니다.
함수 | 설명 | 수학 표현식 | 이에 상응하는 MATLAB® 함수 |
---|---|---|---|
exp | 지수 |
| exp |
log | 자연 로그 |
| log |
2^u | 밑 2의 거듭제곱 |
|
|
10^u | 밑 10의 거듭제곱 |
|
|
log10 | 상용 (밑 10) 로그 |
| log10 |
magnitude^2 | 복소수 모듈러스 |
| |
square | 제곱 |
|
|
pow | 거듭제곱 |
| power |
conj | 켤레 복소수 |
| conj |
reciprocal (엄밀 방법 사용) | 역수 |
|
|
reciprocal (뉴턴-랩슨 방법 사용) | 역수 | 뉴턴-랩슨 역수 알고리즘 방법 항목 참조 | 없음 |
hypot | 제곱합의 제곱근 |
| hypot |
rem | 나눗셈의 나머지 | — | rem |
mod | 나눗셈의 나머지(Modulus) | — | mod |
transpose | 전치 |
|
|
hermitian | 켤레 복소수 전치 |
|
|
팁
제곱근 계산을 수행하려면 Sqrt 블록을 사용하십시오.
블록 출력은 입력 또는 출력에 대해 함수 연산을 수행한 결과입니다. 함수는 다음과 같은 연산 유형을 지원합니다.
함수 | 스칼라 연산 | 요소별 벡터 및 행렬 연산 | 벡터 및 행렬 연산 |
---|---|---|---|
exp | 예 | 예 | 해당 없음 |
log | 예 | 예 | 해당 없음 |
2^u | 예 | 예 | 해당 없음 |
10^u | 예 | 예 | 해당 없음 |
log10 | 예 | 예 | 해당 없음 |
magnitude^2 | 예 | 예 | 해당 없음 |
square | 예 | 예 | 해당 없음 |
pow | 예 | 예 | 해당 없음 |
conj | 예 | 예 | 해당 없음 |
reciprocal (엄밀 방법 사용) | 예 | 예 | 해당 없음 |
reciprocal (뉴턴-랩슨 방법 사용) | 예 | 예 | 해당 없음 |
hypot | 예, 두 입력에 대해 | 예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬) | — |
rem | 예, 두 입력에 대해 | 예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬) | 해당 없음 |
mod | 예, 두 입력에 대해 | 예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬) | 해당 없음 |
transpose | 예 | — | 예 |
hermitian | 예 | — | 예 |
함수 이름과 입력 포트의 적합한 개수가 블록에 표시됩니다.
팁
벡터나 행렬 출력을 원하는 경우 Math Function 블록을 사용하십시오.
뉴턴-랩슨 역수 알고리즘 방법
뉴턴-랩슨 알고리즘 방법이 적용된 reciprocal
함수는 뉴턴-랩슨 근사법을 사용하여 역수를 계산합니다. 이 함수는 재귀적 근사를 사용하여, 실수 값 함수의 근에 대한 더 나은 근삿값을 구합니다.
실수 의 역수는 다음과 같이 함수의 영점으로 정의됩니다.
Simulink®는 범위 에서 초기 추정값을 선택하는데, 이 범위가 함수에 대한 수렴 영역이기 때문입니다.
함수의 근을 연속적으로 계산하려면 반복 횟수 파라미터를 지정합니다. 프로세스가 다음과 같이 반복됩니다.
는 함수 의 도함수입니다.
데이터형 지원
다음 표에는 블록의 각 함수에서 지원할 수 있는 입력 데이터형이 나와 있습니다.
함수 | single형 | double형 | half형* | 부울 | 내장 정수형 | 고정소수점 |
---|---|---|---|---|---|---|
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | 예 | 예 |
| 예 | 예 | 예 | — | 예 | 예 |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | 예 | 예 |
| 예 | 예 | 예 | — | 예 | 예 |
| 예 | 예 | — | — | 예 | 예 |
| 예 | 예 | 예 | — | — | — |
| 예 | 예 | 예 | — | 예 | — |
| 예 | 예 | 예 | — | 예 | — |
| 예 | 예 | 예 | 예 | 예 | 예 |
| 예 | 예 | 예 | — | 예 | 예 |
반정밀도 산술 연산에 대한 자세한 내용은 The Half-Precision Data Type in Simulink (Fixed-Point Designer) 항목을 참조하십시오.
예제
포트
입력
Port_1 — 입력 신호
스칼라 | 벡터 | 행렬
Port_2 — 입력 신호
스칼라 | 벡터 | 행렬
입력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 지원되는 모드에서는 복소 고정소수점 입력을 받지 않는 reciprocal
을 제외하고 실수 입력과 복소수 입력을 받습니다.
종속성
이 포트를 활성화하려면 함수를 hypot
, rem
또는 mod
로 설정하십시오.
이 블록의 데이터형 지원은 선택한 함수와 입력 크기에 따라 다릅니다. 자세한 내용은 데이터형 지원 항목을 참조하십시오.
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
출력
Port_1 — 입력 또는 출력에 대해 함수 연산을 수행한 결과
스칼라 | 벡터 | 행렬
출력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 블록 출력의 차원은 선택한 함수와 입력 크기에 따라 다릅니다. 블록 출력은 출력 신호 유형에 대해 선택한 항목에 따라 실수이거나 복소수입니다. 설명을 참조하십시오.
reciprocal
(뉴턴-랩슨 방법 사용)
reciprocal
(뉴턴-랩슨 방법 사용)의 출력 데이터형은 입력 데이터형에 따라 결정됩니다.
입력 데이터형 | 출력 데이터형 |
---|---|
single형 | single형 |
double형 | double형 |
내장 정수형 | 내장 정수형 |
내장 고정소수점 | 내장 고정소수점 |
|
|
|
|
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
파라미터
기본
함수 — 수학 함수
exp
(디폴트 값) | log
| 2^u
| 10^u
| log10
| magnitude^2
| square
| pow
| conj
| reciprocal
| hypot
| rem
| mod
| transpose
| hermitian
수학 함수를 지정합니다. 이 파라미터의 옵션에 대한 자세한 내용은 설명을 참조하십시오.
종속성
함수를 pow
로 설정하면 부호 있는 거듭제곱 파라미터가 활성화됩니다.
프로그래밍 방식의 사용법
블록 파라미터: Operator |
유형: 문자형 벡터 |
값: 'exp' | 'log' | '2^u' | '10^u' | 'log10' | 'magnitude^2' | 'square' | 'pow' | 'conj' | 'reciprocal' | 'hypot' | 'rem' | 'mod' | 'transpose' | 'hermitian' |
디폴트 값: 'exp' |
알고리즘 메서드 — reciprocal
함수에 대한 알고리즘 메서드
엄밀
(디폴트 값) | 뉴턴-랩슨(Newton-Raphson)
reciprocal
함수에 대한 알고리즘 메서드로, 엄밀
또는 뉴턴-랩슨(Newton-Raphson)
으로 지정됩니다. 뉴턴-랩슨 근사법을 사용하여 역수를 계산하려면 뉴턴-랩슨(Newton-Raphson)
을 선택하십시오. 그렇지 않으면 엄밀
을 선택하십시오.
종속성
함수를 reciprocal
로 설정하면 이 파라미터가 활성화됩니다.
프로그래밍 방식의 사용법
블록 파라미터: AlgorithmType |
유형: 문자형 벡터 |
값: 'Exact' | 'Newton-Raphson' |
디폴트 값: 'Exact' |
부호 있는 거듭제곱 — 거듭제곱의 부호 유무
on (디폴트 값) | off
거듭제곱 계산 시 켜기 또는 끄기로 지정된 경우 입력 신호의 부호를 고려합니다. 이 파라미터는 u1/2, u1/4 등과 같은 짝수 차수 근에만 적용됩니다.
on — 입력의 절댓값의 거듭제곱을 계산하고, 입력의 부호를 곱합니다.
off — 실제 입력값의 거듭제곱을 계산합니다. 첫 번째 입력이 음수이고 두 번째 입력이 짝수 차수의 근이라면
nan
이 반환됩니다.
종속성
함수를 pow
로 설정하면 이 파라미터가 활성화됩니다.
프로그래밍 방식의 사용법
블록 파라미터: SignedPower |
유형: 문자형 벡터 |
값: 'on' | 'off' | |
디폴트 값: 'on' |
출력 신호 유형 — 출력 신호의 실수/복소수 여부
자동
(디폴트 값) | 실수
| 복소수
Math Function 블록의 출력 신호 유형을 자동(auto
), 실수(real
) 또는 복소수(complex
)로 지정합니다.
함수 | 입력 신호 유형 | 출력 신호 유형 | ||
---|---|---|---|---|
자동 | 실수 | 복소수 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
프로그래밍 방식의 사용법
블록 파라미터: OutputSignalType |
유형: 문자형 벡터 |
값: 'auto' | 'real' | 'complex' |
디폴트 값: 'auto' |
반복 횟수 — 뉴턴-랩슨(Newton-Raphson) 반복 횟수
3 (디폴트 값) | 스칼라
뉴턴-랩슨(Newton-Raphson) 반복 횟수로, 스칼라로 지정됩니다.
종속성
이 파라미터를 활성화하려면 다음과 같이 설정하십시오.
함수를
reciprocal
로 설정하십시오.알고리즘 메서드를
뉴턴-랩슨(Newton-Raphson)
으로 설정하십시오.
프로그래밍 방식의 사용법
블록 파라미터: Iterations |
유형: 문자형 벡터 |
값: '3' | scalar |
디폴트 값: '3' |
샘플 시간(상속된 경우 -1) — 샘플 간의 간격
-1
(디폴트 값) | 스칼라 | 벡터
샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1
로 설정하십시오. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.
종속성
이 파라미터는 -1
이외의 값으로 설정한 경우에만 표시됩니다. 자세한 내용은 Blocks for Which Sample Time Is Not Recommended 항목을 참조하십시오.
프로그래밍 방식의 사용법
블록 파라미터: SampleTime |
유형: string형 스칼라 또는 문자형 벡터 |
디폴트 값: "-1" |
신호 특성
출력 최솟값 — 범위 검사를 위한 최소 출력값
[]
(디폴트 값) | 스칼라
Simulink에서 검사하는 출력 범위의 하한 값입니다.
Simulink는 이 최솟값을 사용하여 다음 작업을 수행합니다.
일부 블록에 대해 파라미터 범위 검사(Specify Minimum and Maximum Values for Block Parameters 참조).
시뮬레이션 범위 검사(Specify Signal Ranges 및 Enable Simulation Range Checking 참조).
고정소수점 데이터형의 자동 스케일링.
모델에서 생성한 코드 최적화. 이 최적화 작업은 알고리즘의 코드를 제거하고, SIL 또는 외부 모드 같은 일부 시뮬레이션 모드의 결과에 영향을 줄 수 있습니다. 자세한 내용은 Optimize using the specified minimum and maximum values (Embedded Coder) 항목을 참조하십시오.
참고
출력 최솟값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.
프로그래밍 방식의 사용법
블록 파라미터: OutMin |
유형: 문자형 벡터 |
값: '[ ]' | 스칼라 |
디폴트 값: '[ ]' |
출력 최댓값 — 범위 검사를 위한 최대 출력값
[]
(디폴트 값) | 스칼라
Simulink에서 검사하는 출력 범위의 상한 값입니다.
Simulink는 이 최댓값을 사용하여 다음 작업을 수행합니다.
일부 블록에 대해 파라미터 범위 검사(Specify Minimum and Maximum Values for Block Parameters 참조).
시뮬레이션 범위 검사(Specify Signal Ranges 및 Enable Simulation Range Checking 참조).
고정소수점 데이터형의 자동 스케일링.
모델에서 생성한 코드 최적화. 이 최적화 작업은 알고리즘의 코드를 제거하고, SIL 또는 외부 모드 같은 일부 시뮬레이션 모드의 결과에 영향을 줄 수 있습니다. 자세한 내용은 Optimize using the specified minimum and maximum values (Embedded Coder) 항목을 참조하십시오.
참고
출력 최댓값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.
프로그래밍 방식의 사용법
블록 파라미터: OutMax |
유형: 문자형 벡터 |
값: '[ ]' | 스칼라 |
디폴트 값: '[ ]' |
출력 데이터형 — 출력 데이터형 지정
Inherit: Same as first input
(디폴트 값) | Inherit: Inherit via internal rule
| Inherit: Inherit via back propagation
| double
| single
| half
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <데이터형 표현식>
출력 데이터형을 지정합니다. 출력 데이터형은 다음으로 설정할 수 있습니다.
데이터형을 상속하는 규칙. 예:
상속: 역전파를 통해 상속
내장 데이터형의 이름. 예:
single
데이터형 객체의 이름. 예:
Simulink.NumericType
객체데이터형으로 평가되는 표현식. 예:
fixdt(1,16,0)
데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.
종속성
이 파라미터를 활성화하려면 함수를
magnitude^2
,square
또는reciprocal
로 설정하십시오.magnitude^2
및제곱
의 경우 입력이 단정밀도보다 작은 부동소수점 데이터형이면상속: 내부 규칙을 통해 상속
출력 데이터형은 Inherit floating-point output type smaller than single precision 구성 파라미터의 설정에 따라 다릅니다. 데이터형을 인코딩하는 데 필요한 비트 수가 단정밀도 데이터형을 인코딩하는 데 필요한 32비트보다 작으면 데이터형은 단정밀도보다 작습니다. 예를 들어,half
형과int16
형은 단정밀도보다 작습니다.
프로그래밍 방식의 사용법
블록 파라미터: OutDataTypeStr |
유형: 문자형 벡터 |
값: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
디폴트 값: 'Inherit: Same as first input' |
고정소수점 툴에 의해 변경되지 않도록 출력 데이터형 설정 잠금 — 고정소수점 툴에 의해 데이터형이 재정의되지 않도록 방지
off
(디폴트 값) | on
블록에 지정한 출력 데이터형이 고정소수점 툴에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.
종속성
이 파라미터를 활성화하려면 함수를 magnitude^2
, square
또는 reciprocal
로 설정하십시오.
프로그래밍 방식의 사용법
블록 파라미터: LockScale |
유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'off' |
정수 반올림 모드 — 고정소수점 연산의 반올림 모드
내림(Floor)
(디폴트 값) | 올림(Ceiling)
| 수렴(Convergent)
| 최근접(Nearest)
| 반올림(Round)
| 최대단순(Simplest)
| 0 방향(Zero)
고정소수점 연산의 반올림 모드입니다. 자세한 내용은 반올림 (Fixed-Point Designer) 항목을 참조하십시오.
블록 파라미터는 표현 가능한 가장 가까운 값으로 항상 반올림됩니다. 블록 파라미터의 반올림 동작을 제어하려면 마스크 필드에 MATLAB 반올림 함수를 사용하여 표현식을 입력하십시오.
종속성
이 파라미터를 활성화하려면 함수를 magnitude^2
, square
또는 reciprocal
로 설정하십시오.
프로그래밍 방식의 사용법
블록 파라미터: RndMeth |
유형: 문자형 벡터 |
값: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
디폴트 값: 'Floor' |
정수 오버플로 시 포화 — 정수 오버플로가 발생한 경우의 동작 선택
on
(디폴트 값) | 부울
동작 | 근거 | 오버플로 | 예 |
---|---|---|---|
정수 오버플로 시 포화 체크박스를 선택합니다. | 모델에 오버플로가 발생할 가능성이 있어 생성된 코드에서 포화 보호를 명시적으로 지정하려고 합니다. | 오버플로 시 데이터형이 표현할 수 있는 최솟값 또는 최댓값으로 포화됩니다. |
|
정수 오버플로 시 포화 체크박스를 선택하지 않습니다. | 생성된 코드의 효율성을 최적화하려고 합니다. 블록이 범위를 벗어난 신호를 처리하는 방법을 과도하게 지정하는 일을 방지하려고 합니다. 자세한 내용은 Troubleshoot Signal Range Errors 항목을 참조하십시오. | 오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다. |
|
이 체크박스를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다. 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.
종속성
이 파라미터를 활성화하려면 함수를 magnitude^2
, square
, conj
, reciprocal
또는 hermitian
으로 설정하십시오.
프로그래밍 방식의 사용법
블록 파라미터: SaturateOnIntegerOverflow |
유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'on' |
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
함수 | 아키텍처 | 설명 |
---|---|---|
conj | ComplexConjugate | 켤레 복소수를 계산합니다. |
hermitian | Hermitian | 에르미트를 계산합니다. |
transpose | Transpose | 배열 전치를 계산합니다. Simulink 문서에서 Math Function 항목을 참조하십시오. |
| ShiftAdd |
|
네이티브 부동소수점 모드에서 reciprocal
함수에 대해 수학
아키텍처를 사용하여 단정밀도 부동소수점 데이터형에 대한 HDL 코드를 생성할 수 있습니다. Math Function 블록에서 reciprocal
함수는 다음 표에 나열된 아키텍처도 지원합니다.
알고리즘 메서드를 엄밀
로 설정할 경우 이 블록의 HDL Block 속성에서 이러한 옵션을 선택할 수 있습니다.
아키텍처 | 파라미터 | 추가 대기 시간 사이클 | 설명 |
---|---|---|---|
ShiftAdd | 없음 | 부호 있는 입력: (입력 워드 길이 + 4) 부호 없는 입력: (입력 워드 길이 + 4) | 역수 계산을 위해 여러 시프트 연산과 덧셈 연산을 수행하는 비복원 나눗셈 알고리즘을 사용하여, 고정소수점 입력에 대해 역수 연산을 수행합니다. 이 아키텍처는 뉴턴-랩슨 근사법과 비교해 향상된 정확도를 제공합니다. 고정소수점 데이터형을 사용할 때 HDL 코드를 생성하려면 다음 조건을 충족해야 합니다.
|
ShiftAdd
아키텍처에서 Math Function Reciprocal 블록에 공유 최적화를 적용할 수 있습니다. 자세한 내용은 Resource Sharing (HDL Coder) 항목을 참조하십시오.
이 블록은 생성 코드에 추가 대기 시간을 야기하는 다중 사이클 구현을 갖습니다. 추가된 대기 시간을 보려면 생성된 모델 또는 검증 모델을 확인하십시오. Generated Model and Validation Model (HDL Coder) 항목을 참조하십시오.
HDL 코드 생성 시 reciprocal
함수에 대해 뉴턴-랩슨(Newton-Raphson) 알고리즘 메서드도 지원됩니다. Math Function 블록에서 reciprocal
함수에 대해 다음 아키텍처를 사용하려면 알고리즘 메서드를 뉴턴-랩슨(Newton-Raphson)
으로 선택하십시오.
아키텍처 | 추가 대기 시간 사이클 | 설명 |
---|---|---|
ReciprocalNewton (디폴트 값) | Iterations + 1 | 뉴턴 반복법의 멀티레이트 구현을 사용합니다. 설계 영역을 최적화하려면 이 옵션을 선택하십시오.
|
ReciprocalNewtonSingleRate | (Iterations * 2) + 1 | 파이프라인으로 구현된 싱글레이트 뉴턴 방법을 사용합니다. 설계 속도를 최적화하거나 싱글레이트 구현을 원하는 경우 이 옵션을 선택하십시오.
|
ReciprocalRsqrtBasedNewtonSingleRate | 부호 있는 입력: ( 부호 없는 입력: ( | 파이프라인으로 구현된 싱글레이트 뉴턴 방법을 사용합니다. 속도를 최적화하거나 싱글레이트 구현을 원하는 경우 이 옵션을 선택하십시오.
|
일반 | |
---|---|
ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
OutputPipeline | 생성된 코드에 삽입할 출력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
LatencyStrategy | 이 속성을 활성화하려면 HDL 아키텍처를 |
CustomLatency | 이 속성을 활성화하려면 HDL 아키텍처를 |
네이티브 부동소수점 | |
---|---|
CheckResetToZero | Math Function 블록의 mod 함수와 rem 함수에 이 속성을 사용합니다. 숫자 a 와 b 가 있고 a/b 의 몫이 정수에 가까운 경우 이 설정은 a 를 b 의 정수 배수로, rem(a,b) = 0으로 처리합니다. 그 결과는 수치적으로 정확하고, 시뮬레이션 결과와 일치하게 됩니다. 이 결과를 계산할 때 리소스가 추가적으로 사용되고 타깃 FPGA 소자에서의 면적 사용량이 증가합니다. 자세한 내용은 CheckResetToZero (HDL Coder) 항목을 참조하십시오. |
HandleDenormals | HDL Coder가 설계에서 비정규 숫자를 처리하기 위한 추가 논리를 삽입하도록 할지 여부를 지정합니다. 비정규 숫자는 가수에 선행 0 없이 표현할 수 있는 가장 작은 부동소수점 숫자보다도 크기가 작은 숫자입니다. 디폴트 값은 |
LatencyStrategy | 부동소수점 연산자인 경우 설계 내 블록을 |
NFPCustomLatency | 값을 지정하려면 LatencyStrategy를 |
MaxIterations | Math Function 블록의 mod 함수와 rem 함수에 이 속성을 사용합니다. 숫자 a 와 b 가 상당히 큰 정수인 경우 MaxIterations를 늘려 시뮬레이션 결과를 일치시킬 수 있습니다. 이 결과를 계산할 때 리소스가 추가적으로 사용되고 타깃 FPGA 소자에서의 면적 사용량이 증가합니다. 자세한 내용은 MaxIterations (HDL Coder) 항목을 참조하십시오. |
네이티브 부동소수점을 사용할 경우 Math Function 블록에서 지원되는 함수는 다음과 같습니다.
수학 함수 | 지원되는 부동소수점 데이터형 | 복소수 데이터 지원 | ||
---|---|---|---|---|
half형 | single형 | double형 | ||
exp | 아니요 | 예 | 아니요 | 아니요 |
log | 아니요 | 예 | 예 | 아니요 |
2^u | 아니요 | 예 | 아니요 | 아니요 |
10^u | 아니요 | 예 | 아니요 | 아니요 |
log10 | 아니요 | 예 | 아니요 | 아니요 |
magnitude^2 | 아니요 | 예 | 예 | 예 |
square | 아니요 | 예 | 아니요 | 예 |
pow | 아니요 | 예 | 아니요 | 아니요 |
conj | 아니요 | 예 | 아니요 | 예 |
reciprocal | 예 | 예 | 예 | 아니요 |
hypot | 아니요 | 예 | 아니요 | 아니요 |
rem | 아니요 | 예 | 아니요 | 아니요 |
mod | 아니요 | 예 | 아니요 | 아니요 |
transpose | 예 | 예 | 예 | 예 |
hermitian | 아니요 | 예 | 아니요 | 예 |
역수
구현을 사용할 경우 다음과 같아야 합니다.
입력은 스칼라이고, 정수 또는 고정소수점(부호 있음 또는 부호 없음) 데이터형이어야 합니다.
출력은 스칼라이고, 정수 또는 고정소수점(부호 있음 또는 부호 없음) 데이터형이어야 합니다.
0 방향(Zero)
반올림 모드만 지원됩니다.블록에서 정수 오버플로 시 포화 옵션을 선택해야 합니다.
PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.
고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.
특정 구성에서 Math Function 블록은 고정소수점 변환만 지원합니다. 자세한 내용은 Block Support Table 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023a: Math Function
블록이 2^u를 지원함
이제 Math Function 블록이 2^u
함수를 지원합니다. MATLAB의 2.^u
에 해당합니다(power
참조).
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)