fimath
固定小数点の算術設定を指定
説明
fimath オブジェクトにより、fi オブジェクトに対して固定小数点算術演算を実行するための規則を決定するプロパティを設定できます。
作成
プロパティ
fimath のプロパティによって、fi オブジェクトでの固定小数点算術演算の実行ルールが決まります。推移性により、fimath のプロパティは fi オブジェクトのプロパティにもなります。これらのプロパティは個々の fi オブジェクトに対して設定できます。fimath オブジェクトのプロパティは常に書き込み可能です。
加算データ型のプロパティ
両方のオペランドが加算前に加算データ型にキャストされるかどうか。logical 値として指定します。
1またはtrue- 加算前にキャストする0またはfalse- 加算前にキャストしない
このプロパティは常に logical 値を返します。
メモ
SumMode が FullPrecision に設定されていると、このプロパティは非表示になります。
データ型: logical | single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
加算データ型の最大許容語長。正の整数として指定します。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
加算データ型のバイアス。浮動小数点数として指定します。
例: F = fimath('SumBias',0)
データ型: single | double | half
加算データ型の固定小数点の指数。整数として指定します。
メモ
SumFixedExponent は、SumFractionLength の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
加算データ型の小数部の長さ (ビット単位)。整数として指定します。
メモ
SumFractionLength は、SumFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
加算データ型の決定方法。次のいずれかとして指定します。
FullPrecision— 結果の完全精度を維持します。KeepLSB— 最下位ビットを維持します。加算データ型の語長は指定しますが、小数部の長さは加算の最下位ビットを維持するように設定されています。KeepMSB— 最上位ビットを維持します。加算データ型の語長は指定しますが、小数部の長さは加算の最上位ビットを維持するように設定されており、必要以上の小数部ビットはありません。SpecifyPrecision— 語長と小数部の長さまたは加算データ型の傾きとバイアスを指定します。
データ型: char
加算データ型の傾き。浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
データ型: single | double | half
加算データ型の傾き調整係数。1 以上 2 未満の浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
データ型: single | double | half
加算データ型の語長 (ビット単位)。正の整数として指定します。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
乗算データ型のプロパティ
乗算データ型の最大許容語長。正の整数として指定します。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
乗算データ型のバイアス。浮動小数点数として指定します。
データ型: single | double | half
乗算データ型の固定小数点の指数。整数として指定します。
メモ
ProductFixedExponent は、ProductFractionLength の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
乗算データ型の小数部の長さ (ビット単位)。整数として指定します。
メモ
ProductFractionLength は、ProductFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
乗算データ型の決定方法。次の値のいずれかとして指定します。
FullPrecision— 結果の完全精度を維持します。KeepLSB— 最下位ビットを維持します。乗算の語長は指定しますが、小数部の長さは積の最下位ビットを維持するように設定されています。KeepMSB— 最上位ビットを維持します。乗算の語長は指定しますが、小数部の長さは積の最上位ビットを維持するように設定されています。SpecifyPrecision— 語長と小数部の長さまたは乗算の傾きとバイアスを指定します。
データ型: char
乗算データ型の傾き。浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
データ型: single | double | half
乗算データ型の傾き調整係数。1 以上 2 未満の浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
データ型: single | double | half
乗算データ型の語長 (ビット単位)。正の整数として指定します。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
丸めとオーバーフローのプロパティ
オーバーフロー時のアクション。次の値のいずれかとして指定します。
Saturate— オーバーフロー時に固定小数点の範囲の最大値または最小値に飽和します。Wrap— オーバーフローの場合、ラップします。
データ型: char
使用する丸め手法。次のいずれかとして指定します。
Nearest— 最も近い整数に丸めます。等距離の場合は、正の無限大方向に丸めます。Ceiling
— 正の無限大方向に丸めます。Convergent— 最も近い偶数方向へ丸めます。等距離の場合は、最も近い偶数の格納整数に丸めます (最小バイアス)。Zero— ゼロ方向に丸めます。Floor— 負の無限大方向に丸めます。Round— 最も近い整数に丸めます。等距離の場合、負数に対しては負の無限大方向に丸め、正数に対しては正の無限大方向に丸めます。
データ型: char
例
この例では、既定のプロパティ設定で fimath オブジェクトを作成する方法を示します。
F = fimath
F =
RoundingMethod: Nearest
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
fimath オブジェクトのプロパティは、名前と値のペアを使用したオブジェクトの作成時に設定します。たとえば、オーバーフロー アクションを飽和に、丸め手法を最も近い偶数方向の丸めに設定します。
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F =
RoundingMethod: Convergent
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
この例では、既存の fi オブジェクトから fimath オブジェクトを作成する方法を示します。
既定のプロパティをもち、値が指定されていない fi オブジェクトを作成します。
a = fi
a =
[]
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 15
a の fimath プロパティをクエリします。
a.fimath
ans =
RoundingMethod: Nearest
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
a を入力として fimath オブジェクトを作成します。
F = fimath(a)
F =
RoundingMethod: Nearest
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
F は、a と同じ fimath プロパティをもちます。
拡張機能
使用上の注意および制限:
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 より前に導入以前のリリースでは、fi、fimath、numerictype オブジェクトのあいまいなプロパティに対して警告が表示されていました。R2021a では、あいまいなプロパティ名のサポートは削除されています。代わりに正確なプロパティ名を使用してください。
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)