coder.FixPtConfig クラス
名前空間: coder
浮動小数点から固定小数点への変換構成オブジェクト
説明
coder.FixptConfig
オブジェクトには、コード生成に際して浮動小数点の MATLAB® コードを固定小数点の MATLAB コードに変換するために MATLAB Coder™ の関数 codegen
が必要とする、構成パラメーターが含まれています。-float2fixed
オプションを使用して、このオブジェクトを関数 codegen
に渡します。
作成
は、浮動小数点を固定小数点に変換するための fixptcfg
= coder.config('fixpt')coder.FixPtConfig
オブジェクトを作成します。
プロパティ
ComputeDerivedRanges
— 派生範囲解析を有効化
false
(既定値) | true
派生範囲解析を有効にします。true
または false
として指定します。
ComputeSimulationRanges
— シミュレーション範囲データの収集と報告を有効化
true
(既定値) | false
シミュレーション範囲データの収集と報告を有効にします。true
または false
として指定します。設計のダイナミック レンジ全体をカバーするために長時間のシミュレーションを実行する必要がある場合、シミュレーション範囲の収集を無効にして代わりに派生範囲解析を実行することを検討します。
DefaultFractionLength
— 固定小数点の既定の小数部の長さ
4
(既定値) | 正の整数
固定小数点の既定の小数部の長さ。正の整数として指定します。
DefaultSignedness
— 生成されたコード内の変数の既定の符号属性
'Automatic'
(既定値) | 'Signed'
| 'Unsigned'
生成されたコード内の変数の既定の符号属性。'Automatic'
、'Signed'
、または 'Unsigned'
として指定します。
DefaultWordLength
— 固定小数点の既定の語長
14
(既定値) | 正の整数
固定小数点の既定の語長。正の整数として指定します。
DetectFixptOverflows
— スケーリングされた double を使用したオーバーフローの検出を有効化
false
(既定値) | true
スケーリングされた double を使用したオーバーフローの検出を有効にします。true
または false
として指定します。
fimath
— 変換に使用する fimath
のプロパティ
fimath('RoundingMethod','Floor','OverflowAction','Wrap','ProductMode','FullPrecision','SumMode','FullPrecision')
(既定値) | fimath
オブジェクト
変換に使用する fimath
のプロパティ。fimath
(Fixed-Point Designer) オブジェクトとして指定します。
FixPtFileNameSuffix
— 固定小数点ファイル名の接尾辞
'_fixpt'
(既定値) | string
固定小数点ファイル名の接尾辞。string として指定します。
LaunchNumericTypesReport
— 固定小数点型が推奨された後に数値型レポートを表示
true
(既定値) | false
固定小数点型が推奨された後に数値型レポートを表示します。true
または false
として指定します。
LogIOForComparisonPlotting
— 固定小数点変換で発生したデータ誤差をプロットするためのシミュレーション データ ログを有効化
true
(既定値) | false
固定小数点変換で発生したデータ誤差をプロットするためのシミュレーション データ ログを有効にします。true
または false
として指定します。
OptimizeWholeNumber
— 常に 0 または正の整数になる変数の語長を最適化
true
(既定値) | false
シミュレーションの最小値/最大値のログで常に 0 または正の整数であると示される変数の語長を最適化します。true
または false
として指定します。
PlotFunction
— 比較プロットで使用する関数の名前
''
(既定値) | string
比較プロットで使用する関数の名前。
比較プロットを有効にするには、LogIOForComparisonPlotting
を true に設定しなければなりません。このオプションは PlotWithSimulationDataInspector
よりも優先されます。
プロット関数は次の 3 つの入力を受け入れます。
変数名およびそれを使用する関数名を格納する構造体。
記録された浮動小数点の変数値を格納する cell 配列。
固定小数点への変換後に記録された変数値を格納する cell 配列。
PlotWithSimulationDataInspector
— 比較プロットにシミュレーション データ インスペクターを使用
false
(既定値) | true
比較プロットにシミュレーション データ インスペクターを使用します。true
または false
として指定します。
比較プロットを有効にするには、LogIOForComparisonPlotting
を true に設定しなければなりません。PlotFunction
オプションが PlotWithSimulationDataInspector
よりも優先されます。
ProposeFractionLengthsForDefaultWordLength
— DefaultWordLength
に基づいて固定小数点型を推奨
true
(既定値) | false
DefaultWordLength
に基づいて固定小数点型を推奨します。true
または false
として指定します。
ProposeTargetContainerTypes
— ターゲットのコンテナー タイプを推奨するかどうか
false
(既定値) | true
既定 (false
) では、値を表現するのに最低限必要な語長のデータ型を推奨します。true に設定すると、範囲を表すことができ、C コード生成に適した最小の語長 (8、16、32、64、…) のデータ型を推奨します。たとえば、範囲が [0..7] の変数の場合、3 ではなく 8 の語長を推奨します。
ProposeWordLengthsForDefaultFractionLength
— DefaultFractionLength
に基づいて固定小数点型を推奨
false
(既定値) | true
DefaultFractionLength
に基づいて固定小数点型を推奨します。true
または false
として指定します。
ProposeTypesUsing
— シミュレーション範囲データ、派生範囲、またはその両方に基づいてデータ型を推奨
'BothSimulationAndDerivedRanges'
(既定値) | 'SimulationRanges'
| 'DerivedRanges'
シミュレーション範囲データ、派生範囲、またはその両方に基づいてデータ型を推奨します。'BothSimulationAndDerivedRanges'
、'SimulationRanges'
、または 'DerivedRanges'
として指定します。
SafetyMargin
— 固定小数点型の推奨時にシミュレーション範囲を拡大する安全余裕の割合
0
(既定値) | -100
より大きい実数
固定小数点型の推奨時にシミュレーション範囲を拡大する安全余裕の割合。-100
より大きい実数として指定します。
データ型: double
StaticAnalysisQuickMode
— より高速な静的解析を実行
false
(既定値) | true
より高速な静的解析を実行します。true
または false
として指定します。
StaticAnalysisTimeoutMinutes
— タイムアウトに達した場合に解析を中止
''
(既定値) | 正の整数
タイムアウトに達した場合に解析を中止します。正の整数として指定します。
TestBenchName
— テスト ベンチ関数名
''
(既定値) | string | string の cell 配列
テスト ベンチ関数名。文字列または文字列の cell 配列として指定します。少なくとも 1 つのテスト ベンチを指定しなければなりません。入力パラメーターのデータ型を明示的に指定しない場合、変換では最初のテスト ベンチ関数を使用してそれらのデータ型を推測します。
データ型: string
| cell
TestNumerics
— 数値テストの有効化
false
(既定値) | true
数値テストを有効にします。true
または false
として指定します。
メソッド
パブリック メソッド
addApproximation (Fixed-Point Designer) | 固定小数点の変換中に浮動小数点の関数をルックアップ テーブルに置換 |
addDesignRangeSpecification (Fixed-Point Designer) | パラメーターへの設計範囲指定の追加 |
addFunctionReplacement (Fixed-Point Designer) | 固定小数点の変換で浮動小数点関数を固定小数点関数で置き換える |
addTypeSpecification (Fixed-Point Designer) | 固定小数点の変換中に変数の固定小数点データ型を指定 |
clearDesignRangeSpecifications (Fixed-Point Designer) | すべての設計範囲指定の消去 |
getDesignRangeSpecification (Fixed-Point Designer) | パラメーターの設計範囲指定の取得 |
hasDesignRangeSpecification (Fixed-Point Designer) | パラメーターに設計範囲があるかどうかの判別 |
removeDesignRangeSpecification (Fixed-Point Designer) | パラメーターからの設計範囲指定の削除 |
例
浮動小数点 MATLAB コードからの固定小数点 C コードの生成
この例では、浮動小数点 MATLAB 関数を固定小数点 C コードに変換する方法を示します。
coder.FixPtConfig
オブジェクト fixptcfg
を既定の設定で作成します。
fixptcfg = coder.config('fixpt');
テスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test
です。
fixptcfg.TestBenchName = 'dti_test';
コード生成構成オブジェクトを作成して、スタンドアロンの C スタティック ライブラリを生成します。
cfg = coder.config('lib');
浮動小数点 MATLAB 関数を固定小数点 C コードに変換します。この例では、MATLAB 関数名は dti
です。
codegen -float2fixed fixptcfg -config cfg dti
派生範囲に基づく浮動小数点 MATLAB コードの固定小数点への変換
この例では、浮動小数点 MATLAB 関数を固定小数点 MATLAB コードに変換する方法を示します。
coder.FixPtConfig
オブジェクト fixptcfg
を既定の設定で作成します。
fixptcfg = coder.config('fixpt');
入力データ型の推測に使用するテスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test
です。変換プロセスではこのテスト ベンチを使用して入力データ型を推測します。
fixptcfg.TestBenchName = 'dti_test';
派生範囲に基づくデータ型の推奨を選択します。
fixptcfg.ProposeTypesUsing = 'DerivedRanges';
fixptcfg.ComputeDerivedRanges = true;
設計範囲を追加します。この例では、関数 dti
には 1 つのスカラー double の入力 u_in
があります。u_in
の設計の最小値を -1
に、設計の最大値を 1
に設定します。
fixptcfg.addDesignRangeSpecification('dti','u_in',-1.0,1.0);
浮動小数点 MATLAB 関数である dti
を固定小数点 MATLAB コードに変換します。
codegen -float2fixed fixptcfg dti
オーバーフロー検出の有効化
潜在的なオーバーフローを検出することを選択した場合、codegen
は生成された固定小数点 MEX 関数のスケーリングされた double バージョンを生成します。スケーリングされた double は、倍精度浮動小数点のデータを格納するため、演算を全範囲で実行します。また、固定小数点設定も保持するため、計算が固定小数点型の範囲から外れた場合に報告することが可能です。
coder.FixPtConfig
オブジェクト fixptcfg
を既定の設定で作成します。
fixptcfg = coder.config('fixpt');
テスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test
です。
fixptcfg.TestBenchName = 'dti_test';
オーバーフロー検出を行う数値のテストを有効にします。
fixptcfg.TestNumerics = true; fixptcfg.DetectFixptOverflows = true;
コード生成構成オブジェクトを作成して、スタンドアロンの C スタティック ライブラリを生成します。
cfg = coder.config('lib');
浮動小数点 MATLAB 関数を固定小数点 C コードに変換します。この例では、MATLAB 関数名は dti
です。
codegen -float2fixed fixptcfg -config cfg dti
代替方法
MATLAB Coder アプリを使用して、浮動小数点 MATLAB コードを固定小数点コードに変換できます。次のいずれかの方法でアプリを開きます。
[アプリ] タブの [コード生成] セクションで、[MATLAB Coder] を選択します。
coder
コマンドを使用します。
MATLAB コードの固定小数点 C コードへの変換を参照してください。
バージョン履歴
R2014b で導入
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)