Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Math Function

수학 함수 실행

  • Math Function block

라이브러리:
Simulink / Math Operations
HDL Coder / Math Operations

설명

Math Function 블록은 일반적인 다양한 수학 함수를 실행합니다.

Math Function 블록의 함수 파라미터 목록에서 다음 함수 중 하나를 선택할 수 있습니다.

함수설명수학 표현식 이에 상응하는 MATLAB® 함수
exp

지수

eu

exp
log

자연 로그

ln u

log
2^u

밑 2의 거듭제곱

2u

2.^u
(power 참조)

10^u

밑 10의 거듭제곱

10u

10.^u
(power 참조)

log10

상용 (밑 10) 로그

log u

log10
magnitude^2

복소수 모듈러스

|u|2

real(u).^2 + imag(u).^2
(real, imag, power 참조)

square

제곱

u2

u.^2
(power 참조)

pow

거듭제곱

sign(u)*|u|v(디폴트 값, 짝수 차수 근에만 적용됨) 또는 uv

power
conj

켤레 복소수

ū

conj
reciprocal(엄밀 방법 사용)

역수

1/u

1./u
(rdivide 참조)

reciprocal(뉴턴-랩슨 방법 사용)

역수

뉴턴-랩슨 역수 알고리즘 방법 항목 참조없음
hypot

제곱합의 제곱근

(u2+v2)0.5

hypot
rem

나눗셈의 나머지

rem
mod

나눗셈의 나머지(Modulus)

mod
transpose

전치

uT

u.'
(배열 연산과 행렬 연산 참조)

hermitian

켤레 복소수 전치

uH

u'
(배열 연산과 행렬 연산 참조)

제곱근 계산을 수행하려면 Sqrt 블록을 사용하십시오.

블록 출력은 입력 또는 출력에 대해 함수 연산을 수행한 결과입니다. 함수는 다음과 같은 연산 유형을 지원합니다.

함수스칼라 연산요소별 벡터 및 행렬 연산벡터 및 행렬 연산
exp

해당 없음

log

해당 없음

2^u

해당 없음

10^u

해당 없음

log10

해당 없음

magnitude^2

해당 없음

square

해당 없음

pow

해당 없음

conj

해당 없음

reciprocal(엄밀 방법 사용)

해당 없음

reciprocal(뉴턴-랩슨 방법 사용)

해당 없음

hypot

예, 두 입력에 대해

예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬)

rem

예, 두 입력에 대해

예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬)

해당 없음

mod

예, 두 입력에 대해

예, 두 입력에 대해(크기가 같은 두 벡터 또는 두 행렬, 스칼라와 벡터, 또는 스칼라와 행렬)

해당 없음

transpose

hermitian

함수 이름과 입력 포트의 적합한 개수가 블록에 표시됩니다.

벡터나 행렬 출력을 원하는 경우 Math Function 블록을 사용하십시오.

뉴턴-랩슨 역수 알고리즘 방법

뉴턴-랩슨 알고리즘 방법이 적용된 reciprocal 함수는 뉴턴-랩슨 근사법을 사용하여 역수를 계산합니다. 이 함수는 재귀적 근사를 사용하여, 실수 값 함수의 근에 대한 더 나은 근삿값을 구합니다.

실수 a의 역수는 다음과 같이 함수의 영점으로 정의됩니다.

f(x)=1xa.

Simulink®는 범위 0<x0<2a에서 초기 추정값을 선택하는데, 이 범위가 함수에 대한 수렴 영역이기 때문입니다.

함수의 근을 연속적으로 계산하려면 반복 횟수 파라미터를 지정합니다. 프로세스가 다음과 같이 반복됩니다.

xi+1=xif(xi)f'(xi)=xi+(xiaxi2)=xi.(2axi)

f'(x)는 함수 f(x)의 도함수입니다.

데이터형 지원

다음 표에는 블록의 각 함수에서 지원할 수 있는 입력 데이터형이 나와 있습니다.

함수single형double형half형*부울내장 정수형고정소수점

exp

log

2^u

10^u

log10

magnitude^2

square

pow

conj

reciprocal(엄밀 방법 사용)

reciprocal(뉴턴-랩슨(Newton-Raphson) 방법 사용)(자세한 내용은 출력 참조)

hypot

rem

mod

transpose

hermitian

반정밀도 산술 연산에 대한 자세한 내용은 The Half-Precision Data Type in Simulink (Fixed-Point Designer) 항목을 참조하십시오.

포트

입력

모두 확장

입력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 지원되는 모드에서는 복소 고정소수점 입력을 받지 않는 reciprocal을 제외하고 실수 입력과 복소수 입력을 받습니다. 설명을 참조하십시오.

종속성

이 블록의 데이터형 지원은 선택한 함수와 입력 크기에 따라 다릅니다. 자세한 내용은 데이터형 지원 항목을 참조하십시오.

데이터형: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

입력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 지원되는 모드에서는 복소 고정소수점 입력을 받지 않는 reciprocal을 제외하고 실수 입력과 복소수 입력을 받습니다.

종속성

이 포트를 활성화하려면 함수hypot, rem 또는 mod로 설정하십시오.

이 블록의 데이터형 지원은 선택한 함수와 입력 크기에 따라 다릅니다. 자세한 내용은 데이터형 지원 항목을 참조하십시오.

데이터형: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

출력

모두 확장

출력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 블록 출력의 차원은 선택한 함수와 입력 크기에 따라 다릅니다. 블록 출력은 출력 신호 유형에 대해 선택한 항목에 따라 실수이거나 복소수입니다. 설명을 참조하십시오.

reciprocal(뉴턴-랩슨 방법 사용)

reciprocal(뉴턴-랩슨 방법 사용)의 출력 데이터형은 입력 데이터형에 따라 결정됩니다.

입력 데이터형출력 데이터형
single형single형
double형double형
내장 정수형내장 정수형
내장 고정소수점내장 고정소수점

fi(value, 0, word_length, fraction_length)

fi(value, 0, word_length, word_length–fraction_length–1)

fi(value, 1, word_length, fraction_length)

fi(value, 1, word_length, word_length–fraction_length–2)

데이터형: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

파라미터

모두 확장

기본

수학 함수를 지정합니다. 이 파라미터의 옵션에 대한 자세한 내용은 설명을 참조하십시오.

종속성

함수pow로 설정하면 부호 있는 거듭제곱 파라미터가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: Operator
유형: 문자형 벡터
값: 'exp' | 'log' | '2^u' | '10^u' | 'log10' | 'magnitude^2' | 'square' | 'pow' | 'conj' | 'reciprocal' | 'hypot' | 'rem' | 'mod' | 'transpose' | 'hermitian'
디폴트 값: 'exp'

reciprocal 함수에 대한 알고리즘 메서드로, 엄밀 또는 뉴턴-랩슨(Newton-Raphson)으로 지정됩니다. 뉴턴-랩슨 근사법을 사용하여 역수를 계산하려면 뉴턴-랩슨(Newton-Raphson)을 선택하십시오. 그렇지 않으면 엄밀을 선택하십시오.

종속성

함수reciprocal로 설정하면 이 파라미터가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: AlgorithmType
유형: 문자형 벡터
값: 'Exact' | 'Newton-Raphson'
디폴트 값: 'Exact'

거듭제곱 계산 시 켜기 또는 끄기로 지정된 경우 입력 신호의 부호를 고려합니다. 이 파라미터는 u1/2, u1/4 등과 같은 짝수 차수 근에만 적용됩니다.

  • on — 입력의 절댓값의 거듭제곱을 계산하고, 입력의 부호를 곱합니다.

  • off — 실제 입력값의 거듭제곱을 계산합니다. 첫 번째 입력이 음수이고 두 번째 입력이 짝수 차수의 근이라면 nan이 반환됩니다.

종속성

함수pow로 설정하면 이 파라미터가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: SignedPower
유형: 문자형 벡터
값: 'on' | 'off' |
디폴트 값: 'on'

Math Function 블록의 출력 신호 유형을 자동(auto), 실수(real) 또는 복소수(complex)로 지정합니다.

함수입력 신호 유형출력 신호 유형
자동실수복소수

exp, log, 2^u, 10^u, log10, square, pow, reciprocal, conjugate, transpose, hermitian

real

complex

real

complex

real

error

complex

complex

magnitude squared

real

complex

real

real

real

real

complex

complex

hypot, rem, mod

real

complex

real

error

real

error

complex

error

프로그래밍 방식의 사용법

블록 파라미터: OutputSignalType
유형: 문자형 벡터
값: 'auto' | 'real' | 'complex'
디폴트 값: 'auto'

뉴턴-랩슨(Newton-Raphson) 반복 횟수로, 스칼라로 지정됩니다.

종속성

이 파라미터를 활성화하려면 다음과 같이 설정하십시오.

  • 함수reciprocal로 설정하십시오.

  • 알고리즘 메서드뉴턴-랩슨(Newton-Raphson)으로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: Iterations
유형: 문자형 벡터
값: '3' | scalar
디폴트 값: '3'

샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1로 설정하십시오. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

종속성

이 파라미터는 -1 이외의 값으로 설정한 경우에만 표시됩니다. 자세한 내용은 Blocks for Which Sample Time Is Not Recommended 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: SampleTime
유형: string형 스칼라 또는 문자형 벡터
디폴트 값: "-1"

신호 특성

Simulink에서 검사하는 출력 범위의 하한 값입니다.

Simulink는 이 최솟값을 사용하여 다음 작업을 수행합니다.

참고

출력 최솟값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutMin
유형: 문자형 벡터
: '[ ]'| 스칼라
디폴트 값: '[ ]'

Simulink에서 검사하는 출력 범위의 상한 값입니다.

Simulink는 이 최댓값을 사용하여 다음 작업을 수행합니다.

참고

출력 최댓값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutMax
유형: 문자형 벡터
: '[ ]'| 스칼라
디폴트 값: '[ ]'

출력 데이터형을 지정합니다. 출력 데이터형은 다음으로 설정할 수 있습니다.

  • 데이터형을 상속하는 규칙. 예: 상속: 역전파를 통해 상속

  • 내장 데이터형의 이름. 예: single

  • 데이터형 객체의 이름. 예: Simulink.NumericType 객체

  • 데이터형으로 평가되는 표현식. 예: fixdt(1,16,0)

데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 the Show data type assistant button을 클릭하십시오. 자세한 내용은 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'

블록에 지정한 출력 데이터형이 고정소수점 툴에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 함수magnitude^2, square 또는 reciprocal로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: LockScale
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

고정소수점 연산의 반올림 모드입니다. 자세한 내용은 반올림 (Fixed-Point Designer) 항목을 참조하십시오.

블록 파라미터는 표현 가능한 가장 가까운 값으로 항상 반올림됩니다. 블록 파라미터의 반올림 동작을 제어하려면 마스크 필드에 MATLAB 반올림 함수를 사용하여 표현식을 입력하십시오.

종속성

이 파라미터를 활성화하려면 함수magnitude^2, square 또는 reciprocal로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: RndMeth
유형: 문자형 벡터
값: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
디폴트 값: 'Floor'

동작근거오버플로

정수 오버플로 시 포화 체크박스를 선택합니다.

모델에 오버플로가 발생할 가능성이 있어 생성된 코드에서 포화 보호를 명시적으로 지정하려고 합니다.

오버플로 시 데이터형이 표현할 수 있는 최솟값 또는 최댓값으로 포화됩니다.

int8(부호 있는 8비트 정수) 데이터형이 표현할 수 있는 최댓값은 127입니다. 블록 연산 결과가 이 최댓값보다 크면 8비트 정수 오버플로가 발생합니다. 체크박스를 선택하면 블록 출력이 127에서 포화됩니다. 마찬가지로 블록 출력은 최소 출력값 -128에서 포화됩니다.

정수 오버플로 시 포화 체크박스를 선택하지 않습니다.

생성된 코드의 효율성을 최적화하려고 합니다.

블록이 범위를 벗어난 신호를 처리하는 방법을 과도하게 지정하는 일을 방지하려고 합니다. 자세한 내용은 Troubleshoot Signal Range Errors 항목을 참조하십시오.

오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다.

int8(부호 있는 8비트 정수) 데이터형이 표현할 수 있는 최댓값은 127입니다. 블록 연산 결과가 이 최댓값보다 크면 8비트 정수 오버플로가 발생합니다. 체크박스를 선택 해제하면 오버플로를 일으키는 값이 int8형으로 해석되며, 이로 인해 의도치 않은 결과가 발생할 수 있습니다. 예를 들어, int8형으로 표현된 130(2진수 1000 0010)의 블록 결과는 -126입니다.

이 체크박스를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다. 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.

종속성

이 파라미터를 활성화하려면 함수magnitude^2, square, conj, reciprocal 또는 hermitian으로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: SaturateOnIntegerOverflow
유형: 문자형 벡터
: 'off' | 'on'
디폴트 값: 'on'

블록 특성

데이터형

Boolean | double | fixed point | half | integer | single

직접 피드스루

다차원 신호

가변 크기 신호

영점교차 검출

아니요

확장 기능

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장