Main Content

coder.FixPtConfig クラス

名前空間: coder

浮動小数点から固定小数点への変換構成オブジェクト

説明

coder.FixptConfig オブジェクトには、コード生成に際して浮動小数点の MATLAB® コードを固定小数点の MATLAB コードに変換するために MATLAB Coder™ の関数 codegen が必要とする、構成パラメーターが含まれています。-float2fixed オプションを使用して、このオブジェクトを関数 codegen に渡します。

作成

fixptcfg = coder.config('fixpt') は、浮動小数点を固定小数点に変換するための coder.FixPtConfig オブジェクトを作成します。

プロパティ

すべて展開する

派生範囲解析を有効にします。true または false として指定します。

シミュレーション範囲データの収集と報告を有効にします。true または false として指定します。設計のダイナミック レンジ全体をカバーするために長時間のシミュレーションを実行する必要がある場合、シミュレーション範囲の収集を無効にして代わりに派生範囲解析を実行することを検討します。

固定小数点の既定の小数部の長さ。正の整数として指定します。

生成されたコード内の変数の既定の符号属性。'Automatic''Signed'、または 'Unsigned' として指定します。

固定小数点の既定の語長。正の整数として指定します。

スケーリングされた double を使用したオーバーフローの検出を有効にします。true または false として指定します。

変換に使用する fimath のプロパティ。fimath (Fixed-Point Designer) オブジェクトとして指定します。

固定小数点ファイル名の接尾辞。string として指定します。

固定小数点型が推奨された後に数値型レポートを表示します。true または false として指定します。

固定小数点変換で発生したデータ誤差をプロットするためのシミュレーション データ ログを有効にします。true または false として指定します。

シミュレーションの最小値/最大値のログで常に 0 または正の整数であると示される変数の語長を最適化します。true または false として指定します。

比較プロットで使用する関数の名前。

比較プロットを有効にするには、LogIOForComparisonPlotting を true に設定しなければなりません。このオプションは PlotWithSimulationDataInspector よりも優先されます。

プロット関数は次の 3 つの入力を受け入れます。

  • 変数名およびそれを使用する関数名を格納する構造体。

  • 記録された浮動小数点の変数値を格納する cell 配列。

  • 固定小数点への変換後に記録された変数値を格納する cell 配列。

比較プロットにシミュレーション データ インスペクターを使用します。true または false として指定します。

比較プロットを有効にするには、LogIOForComparisonPlotting を true に設定しなければなりません。PlotFunction オプションが PlotWithSimulationDataInspector よりも優先されます。

DefaultWordLength に基づいて固定小数点型を推奨します。true または false として指定します。

既定 (false) では、値を表現するのに最低限必要な語長のデータ型を推奨します。true に設定すると、範囲を表すことができ、C コード生成に適した最小の語長 (8、16、32、64、…) のデータ型を推奨します。たとえば、範囲が [0..7] の変数の場合、3 ではなく 8 の語長を推奨します。

DefaultFractionLength に基づいて固定小数点型を推奨します。true または false として指定します。

シミュレーション範囲データ、派生範囲、またはその両方に基づいてデータ型を推奨します。'BothSimulationAndDerivedRanges''SimulationRanges'、または 'DerivedRanges' として指定します。

固定小数点型の推奨時にシミュレーション範囲を拡大する安全余裕の割合。-100 より大きい実数として指定します。

データ型: double

より高速な静的解析を実行します。true または false として指定します。

タイムアウトに達した場合に解析を中止します。正の整数として指定します。

テスト ベンチ関数名。文字列または文字列の cell 配列として指定します。少なくとも 1 つのテスト ベンチを指定しなければなりません。入力パラメーターのデータ型を明示的に指定しない場合、変換では最初のテスト ベンチ関数を使用してそれらのデータ型を推測します。

データ型: string | cell

数値テストを有効にします。true または false として指定します。

メソッド

すべて展開する

すべて折りたたむ

この例では、浮動小数点 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 コードに変換する方法を示します。

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 で導入