Abs
입력의 절댓값 출력

라이브러리:
Simulink /
Math Operations
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Math Operations
설명
Abs 블록은 입력의 절댓값을 출력합니다.
부호 있는 정수 데이터형의 경우 가장 큰 음수 값의 절댓값은 이 데이터형으로 표현할 수 없습니다. 이 경우, 정수 오버플로 시 포화 체크박스에서 블록의 동작을 제어합니다.
선택 옵션 | 블록의 동작 | 결과 |
---|---|---|
이 체크박스 선택함 | 정수 데이터형의 가장 큰 양수 값으로 포화됨 |
|
이 체크박스 선택하지 않음 | 정수 데이터형의 가장 큰 음수 값으로 래핑됨 |
|
Abs 블록은 영점교차 검출을 지원합니다. 그러나 대화 상자에서 영점교차 검출 활성화를 선택하면, 블록은 고정소수점 툴에서 시뮬레이션 최솟값이나 최댓값을 보고하지 않습니다. 고정소수점 툴을 사용하여 모델을 분석하려면 먼저 모델의 모든 Abs 블록에서 영점교차 검출을 비활성화하십시오.
예제
질량-스프링-댐퍼 시스템에서 스틱-슬립 마찰과 강제 정지 모델링하기
이 예제에서는 스틱 슬립 운동의 강제 정지와 마찰 변화를 질량-스프링-댐퍼 모델에 통합할 수 있는 한 가지 방법을 보여줍니다.
정확한 영점교차 검출
이 예제에서는 Simulink®에서 영점교차 검출이 어떻게 작동하는지 보여줍니다. Simulink는 영점교차 검출을 사용하여 솔버 시간 스텝을 줄이지 않고도 모델의 급격한 변화나 불연속을 정확하게 시뮬레이션합니다. 자세한 내용은 Zero-Crossing Detection 항목을 참조하십시오.
포트
입력
절댓값 블록에 대한 입력 신호입니다.
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
출력
입력 신호의 절댓값입니다.
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
파라미터
기본
영점교차 검출을 활성화하도록 선택합니다. 자세한 내용은 Zero-Crossing Detection 항목을 참조하십시오.
프로그래밍 방식의 사용법
블록 파라미터: ZeroCross |
유형: 문자형 벡터 | string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1
로 설정하십시오. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.
종속성
이 파라미터는 -1
이외의 값으로 설정한 경우에만 표시됩니다. 자세한 내용은 Blocks for Which Sample Time Is Not Recommended 항목을 참조하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param
함수를 사용하십시오.
파라미터: | SampleTime |
값: | "-1" (디폴트 값) | scalar or vector in quotes |
신호 특성
데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.
소프트웨어에서 검사하는 출력 범위의 하한 값입니다.
이 최솟값을 사용하여 다음 작업이 수행됩니다.
일부 블록에 대해 파라미터 범위 검사(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 블록을 사용하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param
함수를 사용하십시오.
파라미터: | OutMin |
값: | '[]' (디폴트 값) | scalar in quotes |
소프트웨어에서 검사하는 출력 범위의 상한 값입니다.
이 최댓값을 사용하여 다음 작업이 수행됩니다.
일부 블록에 대해 파라미터 범위 검사(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 블록을 사용하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param
함수를 사용하십시오.
파라미터: | OutMax |
값: | '[]' (디폴트 값) | scalar in quotes |
출력의 데이터형을 선택합니다. 유형은 상속되거나 직접 지정되거나 Simulink.NumericType
과 같은 데이터형 객체로 표현될 수 있습니다.
종속성
입력값이 단정밀도보다 작은 부동소수점 데이터형인 경우 상속: 내부 규칙을 통해 상속
출력 데이터형은 Inherit floating-point output type smaller than single precision 구성 파라미터의 설정에 따라 다릅니다. 데이터형을 인코딩하는 데 필요한 비트 수가 단정밀도 데이터형을 인코딩하는 데 필요한 32비트보다 작으면 데이터형은 단정밀도보다 작습니다. 예를 들어, half
형과 int16
형은 단정밀도보다 작습니다.
프로그래밍 방식의 사용법
블록 파라미터: OutDataTypeStr |
유형: 문자형 벡터 |
값: 'Inherit: Same as 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,0) | fixdt(1,16,2^0,0) | fixdt(1,16,2^0,0) | '<data type expression>' |
디폴트 값: 'Inherit: Same as input' |
블록에 지정한 출력 데이터형이 고정소수점 툴에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param
함수를 사용하십시오.
파라미터: | LockScale |
값: | 'off' (디폴트 값) | 'on' |
고정소수점 연산의 반올림 모드를 지정합니다. 자세한 내용은 반올림 모드 (Fixed-Point Designer) 항목을 참조하십시오.
블록 파라미터는 표현 가능한 가장 가까운 값으로 항상 반올림됩니다. 블록 파라미터의 반올림 동작을 제어하려면 마스크 필드에 MATLAB® 반올림 함수를 사용하여 표현식을 입력하십시오.
프로그래밍 방식의 사용법
프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param
함수를 사용하십시오.
파라미터: | RndMeth |
값: | 'Floor' (디폴트 값) | 'Ceiling' | 'Convergent' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
이 체크박스를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다. 일반적으로 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.
동작 | 이 동작을 수행한 이유 | 발생하는 문제 | 예 |
---|---|---|---|
이 체크박스를 선택합니다. | 모델에 오버플로가 발생할 가능성이 있어 생성된 코드에서 포화 보호를 명시적으로 지정하려고 합니다. | 오버플로 시 데이터형이 표현할 수 있는 최댓값으로 포화됩니다. | 숫자 130은 부호 있는 8비트 정수에 맞지 않으며 127로 포화됩니다. |
이 체크박스를 선택하지 않습니다. | 생성된 코드의 효율성을 최적화하려고 합니다. | 오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다. | 숫자 130은 부호 있는 8비트 정수에 맞지 않으므로 -126으로 래핑됩니다. |
프로그래밍 방식의 사용법
블록 파라미터: SaturateOnIntegerOverflow |
유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'off' |
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
세부 정보
Simulink® Coverage™ 라이선스가 있는 경우 Abs 블록은 결정 커버리지와 관계형 경계 커버리지를 수신합니다. 결정 커버리지는 다음을 기반으로 합니다.
블록에 대한 입력이 0보다 작은지 여부
입력 신호의 데이터형
블록에 대한 입력이 0보다 작으면 결정 커버리지는 다음을 측정합니다.
블록 입력이 0보다 작은 시간 스텝의 개수, true 결정을 나타냄
블록 입력이 0보다 작지 않은 시간 스텝의 개수, false 결정을 나타냄
구성 파라미터 대화 상자의 커버리지 창에서 Saturate on integer overflow 파라미터를 선택하면 Abs 블록은 정수 오버플로 시 포화 커버리지를 수신합니다. 자세한 내용은 Saturate on Integer Overflow Coverage (Simulink Coverage) 항목을 참조하십시오.
Abs 블록에 대한 입력 데이터형이 부호 없는 정수인 경우 Simulink Coverage는 블록에 대한 결정 커버리지를 보고하지 않습니다. Simulink는 결정을 내리지 않고 블록 출력을 블록 입력과 같게 설정합니다.
Abs 블록은 입력을 0과 비교하므로 Relational Boundary 커버리지 메트릭을 선택하면 Abs 블록은 관계형 경계 커버리지를 수신합니다. 자세한 내용은 Relational Boundary Coverage (Simulink Coverage) 항목을 참조하십시오.
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
이 블록에는 하나의 디폴트 HDL 아키텍처가 있습니다.
일반 | |
---|---|
ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
OutputPipeline | 생성된 코드에 삽입할 출력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
네이티브 부동소수점 | |
---|---|
LatencyStrategy | 부동소수점 연산자인 경우 설계 내 블록을 |
이 블록은 Native Floating Point
모드의 부동소수점 데이터형을 가진 복소 신호를 위한 코드 생성을 지원합니다.
고정소수점 데이터형을 사용하는 복소 신호가 있는 블록에 대한 코드 생성은 지원하지 않습니다. 복소수의 크기를 계산하려면 대신 Complex to Magnitude-Angle (DSP HDL Toolbox) 블록을 사용하십시오.
PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.
고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.
버전 내역
R2006a 이전에 개발됨
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)