このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Abs
入力の絶対値の出力

ライブラリ:
Simulink /
Math Operations
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Math Operations
説明
Abs ブロックは入力の絶対値を出力します。
符号付き整数データ型の場合、最小の負の値の絶対値はそのデータ型で表現できません。この場合、[整数オーバーフローで飽和] チェック ボックスがこのブロックの動作を制御します。
ユーザーの操作 | ブロックの動作 | それに伴う処理 |
---|---|---|
このチェック ボックスをオンにする | 整数データ型の最大の正の値に飽和されます。 |
|
このチェック ボックスをオンにしない | 整数データ型の最小の負の値にラップされます。 |
|
Abs ブロックはゼロクロッシング検出をサポートします。ただし、ダイアログ ボックスで [ゼロクロッシング検出を有効にする] が選択されている場合、ブロックは固定小数点ツールによるシミュレーションの最小値または最大値をレポートしません。固定小数点ツールを使用してモデルの解析を行う場合は、まず、モデルのすべての Abs ブロックについてゼロクロッシング検出を無効にしてください。
例
マス-バネ-ダンパー系におけるスティックスリップ摩擦とハード ストップのモデル化
この例では、ハード ストップとスティックスリップ動作による摩擦の変化をマス-バネ-ダンパー モデルに組み込む 1 つの方法を示します。
正確なゼロクロッシング検出
この例では、Simulink® でのゼロクロッシング検出の仕組みを示します。Simulink では、ゼロクロッシング検出を使用して、ソルバーのタイム ステップを下げることなく、急激なモデルの変化や不連続点を正確にシミュレートします。詳細については、ゼロクロッシング検出を参照してください。
端子
入力
Absolute Value ブロックへの入力信号。
データ型: 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
パラメーター
メイン
ゼロクロッシング検出を有効にする場合は選択します。詳細については、ゼロクロッシング検出を参照してください。
プログラムでの使用
ブロック パラメーター: ZeroCross |
型: 文字ベクトル | string |
値: 'off' | 'on' |
既定の設定: 'on' |
サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1
に設定します。詳細については、サンプル時間の指定を参照してください。
依存関係
このパラメーターは、-1
以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | SampleTime |
値: | "-1" (既定値) | scalar or vector in quotes |
信号属性
データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、 をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
ソフトウェアでチェックする出力範囲の下限値。
最小値を使用して以下が行われます。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
ヒント
[出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | OutMin |
値: | '[]' (既定値) | scalar in quotes |
ソフトウェアでチェックする出力範囲の上限値。
最大値を使用して以下が行われます。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
ヒント
[出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | OutMax |
値: | '[]' (既定値) | scalar in quotes |
出力のデータ型を選択します。型は継承されるか、直接指定されるか、Simulink.NumericType
などのデータ型オブジェクトとして表現されます。
依存関係
入力が単精度より小さい浮動小数点データ型の場合、[継承: 内部ルールによる継承]
出力データ型は単精度より小さい浮動小数点の出力型を継承するコンフィギュレーション パラメーターの設定によって変わります。データ型の符合化に必要なビット数が単精度データ型の符合化に必要な 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' |
固定小数点ツールが、ブロックに指定した [出力] データ型をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | LockScale |
値: | 'off' (既定値) | 'on' |
固定小数点演算の丸めモードを指定します。詳細については、丸めモード (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に最近傍の表現可能な値に丸められます。ブロックパラメーターの丸めを直接制御するには、MATLAB® の丸め関数を使用する式をマスク フィールドに入力します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RndMeth |
値: | 'Floor' (既定値) | 'Ceiling' | 'Convergent' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。
動作 | このアクションを行う理由 | オーバーフロー発生時に起きること | 例 |
---|---|---|---|
このチェック ボックスをオンにする。 | モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。 | オーバーフローは、データ型が表現できる最大値に飽和します。 | 数値 130 は符号付き 8 ビット整数 1 つに収まりきらないので、127 に飽和します。 |
このチェック ボックスをオンにしない。 | 生成コードの効率を最適化することをお勧めします。 | オーバーフローは、データ型によって表現される適切な値にラップされます。 | 数値 130 は符号付き 8 ビット整数 1 つに収まりきらないので、-126 にラップされます。 |
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
Simulink® Coverage™ ライセンスがある場合、Abs ブロックは判定カバレッジと関係演算子の境界カバレッジの対象になります。判定カバレッジは以下に基づいています。
ブロックへの入力がゼロ未満であるかどうか
入力信号のデータ型
ブロックへの入力がゼロ未満の場合、判定カバレッジでは以下の内容が測定されます。
ブロック入力がゼロ未満であるタイム ステップの数 (真判定を表す)
ブロック入力がゼロ未満でないタイム ステップの数 (偽判定を表す)
[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] ペインで [整数オーバーフローで飽和] パラメーターを選択すると、Abs ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジ (Simulink Coverage)を参照してください。
Abs ブロックの入力データ型が符号なし整数の場合、Simulink Coverage はそのブロックについて判定カバレッジをレポートしません。Simulink はブロック出力をブロック入力と同じ値に設定し、判定は行いません。
Abs は入力をゼロと比較するため、[関係演算子の境界] カバレッジ メトリクスを選択すると、Abs ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジ (Simulink Coverage)を参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
一般 | |
---|---|
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
ネイティブ浮動小数点 | |
---|---|
LatencyStrategy | 浮動小数点演算子について、設計内のブロックを |
このブロックは、Native Floating Point
モードでの浮動小数点型を含む複素信号のコード生成をサポートします。
固定小数点型を使用する複素数信号を含むブロックのコード生成は、サポートされていません。複素数の大きさを計算するには、代わりに Complex to Magnitude-Angle (DSP HDL Toolbox) ブロックを使用してください。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)