fimath
固定小数点の算術設定を指定
説明
F = fimath
は fimath
オブジェクトを fimath
の既定のプロパティ設定で作成します。
F = fimath(
は 1 つ以上の名前と値のペアの引数を使用して Name,Value
)fimath
オブジェクトのプロパティを指定します。コンストラクターで指定されないプロパティについては、いずれも既定値が使用されます。
例
既定の fimath オブジェクトの作成
この例では、既定のプロパティ設定で fimath
オブジェクトを作成する方法を示します。
F = fimath
F = RoundingMethod: Nearest OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
fimath オブジェクトのプロパティの設定
fimath
オブジェクトのプロパティは、名前と値のペアを使用したオブジェクトの作成時に設定します。たとえば、オーバーフロー アクションを飽和に、丸め手法を最も近い偶数方向の丸めに設定します。
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = RoundingMethod: Convergent OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
入力引数
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。
R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')
CastBeforeSum
— 両方のオペランドが加算前に加算データ型にキャストされるかどうか
false
または 0
(既定値) | true
または 1
両方のオペランドが加算前に加算データ型にキャストされるかどうか。数値または logical の 1
(true
) または 0
(false
) として指定します。
メモ
SumMode
が FullPrecision
に設定されていると、このプロパティは非表示になります。
例: F = fimath('CastBeforeSum',true)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
MaxProductWordLength
— 乗算データ型の最大許容語長
65535
(既定値) | 正の整数
乗算データ型の最大許容語長。正の整数として指定します。
例: F = fimath('MaxProductWordLength',16)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
MaxSumWordLength
— 加算データ型の最大許容語長
65535 (既定値) | 正の整数
加算データ型の最大許容語長。正の整数として指定します。
例: F = fimath('MaxSumWordLength',16)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
OverflowAction
— オーバーフロー時のアクション
'Saturate'
(既定値) | 'Wrap'
オーバーフロー時のアクション。次の値のいずれかとして指定します。
'Saturate'
– オーバーフロー時に固定小数点の範囲の最大値または最小値に飽和します。'Wrap'
— オーバーフロー時にラップします。このモードは、2 の補数オーバーフローとも呼ばれます。
例: F = fimath('OverflowAction','Wrap')
データ型: char
ProductBias
— 乗算データ型のバイアス
0
(既定値) | 浮動小数点数
乗算データ型のバイアス。浮動小数点数として指定します。
例: F = fimath('ProductBias',1)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductFixedExponent
— 乗算データ型の固定小数点の指数
-30
(既定値) | 非ゼロの整数
乗算データ型の固定小数点の指数。非ゼロの整数として指定します。
メモ
ProductFractionLength
は、ProductFixedExponent
の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
例: F = fimath('ProductFixedExponent',-20)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductFractionLength
— 乗算データ型の小数部の長さ
30
(既定値) | 非ゼロの整数
乗算データ型の小数部の長さ (ビット単位)。非ゼロの整数として指定します。
メモ
ProductFractionLength
は、ProductFixedExponent
の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
例: F = fimath('ProductFractionLength',20)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductMode
— 乗算データ型の決定方法
'FullPrecision'
(既定値) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
乗算データ型の決定方法。次の値のいずれかとして指定します。
'FullPrecision'
– 結果の完全精度を維持します。'KeepLSB'
– 最下位ビットを維持します。乗算の語長を指定します。小数部の長さは積の最下位ビットを維持するように設定されます。'KeepMSB'
– 最上位ビットを維持します。乗算の語長を指定します。小数部の長さは積の最上位ビットを維持するように設定されます。'SpecifyPrecision'
– 語長と小数部の長さまたは乗算の勾配とバイアスを指定します。
例: F = fimath('ProductMode','KeepLSB')
データ型: char
ProductSlope
— 乗算データ型の勾配
9.3132e-10
(既定値) | 有限の正の浮動小数点数
乗算データ型の勾配。有限の正の浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
例: F = fimath('ProductSlope',9.3132e-10)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductSlopeAdjustmentFactor
— 乗算データ型の勾配調整係数
1
(既定値) | 1 以上 2 未満の浮動小数点数
乗算データ型の勾配調整係数。1 以上 2 未満の浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
例: F = fimath('ProductSlopeAdjustmentFactor',1)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ProductWordLength
— 乗算データ型の語長
32
(既定値) | 正の整数
乗算データ型の語長 (ビット単位)。正の整数として指定します。
例: F = fimath('ProductWordLength',64)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
RoundingMethod
— 使用する丸め手法です。
'Nearest'
(既定値) | 'Ceiling'
| 'Convergent'
| 'Zero'
| 'Floor'
| 'Round'
使用する丸め手法。次の値のいずれかとして指定します。
'Nearest'
– 最も近い整数方向に丸めます。等距離の場合は、正の無限大方向に丸めます。'Ceiling'
– 正の無限大方向に丸めます。'Convergent'
– 最も近い整数方向に丸めます。等距離の場合は、最も近い偶数の格納整数に丸めます (最小バイアス)。'Zero'
– ゼロ方向に丸めます。'Floor'
– 負の無限大方向に丸めます。'Round'
– 最も近い整数方向に丸めます。等距離の場合、負数に対しては負の無限大方向に丸め、正数に対しては正の無限大方向に丸めます。
例: F = fimath('RoundingMethod','Convergent')
データ型: char
SumBias
— 加算データ型のバイアス
0
(既定値) | 浮動小数点数
加算データ型のバイアス。浮動小数点数として指定します。
例: F = fimath('SumBias',0)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumFixedExponent
— 加算データ型の固定小数点の指数
-30
(既定値) | 非ゼロの整数
加算データ型の固定小数点の指数。非ゼロの整数として指定します。
メモ
SumFractionLength
は、SumFixedExponent
の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
例: F = fimath('SumFixedExponent',-20)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumFractionLength
— 加算データ型の小数部の長さ
30
(既定値) | 非ゼロの整数
加算データ型の小数部の長さ (ビット単位)。非ゼロの整数として指定します。
メモ
SumFractionLength
は、SumFixedExponent
の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。
例: F = fimath('SumFractionLength',20)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumMode
— 加算データ型の決定方法
'FullPrecision'
(既定値) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
加算データ型の決定方法。次の値のいずれかとして指定します。
'FullPrecision'
– 結果の完全精度を維持します。'KeepLSB'
– 最下位ビットを維持します。加算データ型の語長を指定します。小数部の長さは合計の最下位ビットを維持するように設定されます。'KeepMSB'
– 最上位ビットを維持します。加算データ型の語長を指定します。小数部の長さは合計の最上位ビットを維持するように設定され、必要以上の小数部ビットはありません。'SpecifyPrecision'
– 加算データ型の語長と小数部の長さまたは勾配とバイアスを指定します。
例: F = fimath('SumMode','KeepLSB')
データ型: char
SumSlope
— 加算データ型の勾配
9.3132e-10
(既定値) | 浮動小数点数
加算データ型の勾配。浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
例: F = fimath('SumSlope',9.3132e-10)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumSlopeAdjustmentFactor
— 加算データ型の勾配調整係数
1
(既定値) | 1 以上 2 未満の浮動小数点数
加算データ型の勾配調整係数。1 以上 2 未満の浮動小数点数として指定します。
メモ
これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。
例: F = fimath('SumSlopeAdjustmentFactor',1)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SumWordLength
— 加算データ型の語長
32
(既定値) | 正の整数
加算データ型の語長 (ビット単位)。正の整数として指定します。
例: F = fimath('SumWordLength',64)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用に関するメモと制限:
Simulink® から MATLAB® Function ブロックに読み込まれる固定小数点信号は、
fimath
オブジェクトに割り当てられます。このオブジェクトは、モデル エクスプローラーの MATLAB Function ブロックのダイアログで定義します。生成されるコードで
fimath
オブジェクトを作成するのに使用します。fimath
オブジェクトのProductMode
プロパティがFullPrecision
以外の値に設定されている場合、ProductWordLength
およびProductFractionLength
プロパティは定数でなければなりません。fimath
オブジェクトのSumMode
プロパティがFullPrecision
以外の値に設定されている場合、SumWordLength
およびSumFractionLength
プロパティは定数でなければなりません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
バージョン履歴
R2006a より前に導入R2021a: fi
、fimath
、numerictype
オブジェクトのあいまいなプロパティ名はサポートされない
以前のリリースでは、fi
、fimath
、numerictype
オブジェクトのあいまいなプロパティに対して警告が表示されていました。R2021a では、あいまいなプロパティ名のサポートは削除されています。代わりに正確なプロパティ名を使用してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)