Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MATLAB コードの固定小数点 C コードへの変換

この例では、プログラムのワークフローを使用して、浮動小数点の MATLAB® コードから固定小数点の C コードを生成する方法について説明します。

固定小数点の構成オブジェクトのセットアップ

固定小数点の構成オブジェクトを作成し、テスト ファイル名を設定します。次に例を示します。

fixptcfg = coder.config('fixpt');
fixptcfg.TestBenchName = 'fun_with_matlab_test';

固定小数点の構成オブジェクトの型推奨の構成

固定小数点変換ソフトウェアは、シミュレーションの範囲、派生範囲またはその両方に基づいて型を推奨できます。

  • シミュレーションの範囲のみを使用した型推奨を行うには、シミュレーション範囲データの収集と報告を有効にします。既定では、派生範囲解析は無効です。

    fixptcfg.ComputeSimulationRanges = true;
    

  • 派生範囲のみを使用した型推奨を行うには、次の手順に従います。

    1. 入力パラメーターの設計範囲を指定します。次に例を示します。

      fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);
      
    2. 派生範囲解析を有効にします。シミュレーション範囲データの収集と報告を無効にします。

      fixptcfg.ComputeDerivedRanges = true;
      fixptcfg.ComputeSimulationRanges = false;
      

数値テストの有効化

生成された固定小数点の MATLAB コードを検証するために、テスト ファイルを実行することを選択します。

fixptcfg.TestNumerics = true;

プロットの有効化

比較プロットのために入力と出力を記録します。カスタム関数またはシミュレーション データ インスペクターを使用してプロットを行うことを選択します。たとえば、シミュレーション データ インスペクターを使用してプロットするには、次のようにします。

fixptcfg.LogIOForComparisonPlotting = true;
fixptcfg.PlotWithSimulationDataInspector = true;

固定小数点構成オブジェクトのその他のプロパティの構成

必要に応じて固定小数点構成オブジェクトのその他のプロパティを構成します。たとえば、固定小数点の既定の語長を次のように定義します。

fixptcfg.DefaultWordLength = 16;

C コード生成の構成オブジェクトのセットアップ

C のスタティック ライブラリ、ダイナミック ライブラリまたは実行可能ファイルを生成するためのコード構成オブジェクトを作成します。コード生成レポートを有効にします。次に例を示します。

cfg = coder.config('lib');
cfg.GenerateReport = true;

固定小数点 C コードの生成

関数 codegen を使用して、浮動小数点の MATLAB 関数を固定小数点の C コードに変換します。次に例を示します。

codegen -float2fixed fixptcfg -config cfg fun_with_matlab

型推奨レポートの表示

エントリポイント関数の型推奨レポートへのリンクをクリックします。

比較プロットの表示

比較プロットのために入力と出力を記録することを選択した場合、変換プロセスで比較プロットが生成されます。

  • シミュレーション データ インスペクターを使用してプロットすることを選択した場合、シミュレーション データ インスペクターが開きます。シミュレーション データ インスペクターを使用して浮動小数点と固定小数点の実行情報を表示および比較します。

  • カスタム プロット関数を使用してプロットすることを選択した場合、変換プロセスはカスタム関数を使用してプロットを生成します。

生成された固定小数点の MATLAB コードと固定小数点の C コードの表示

[レポートの表示] リンクをクリックして型推奨レポートを表示します。固定小数点の MATLAB コードを表示するには、[MATLAB ソース] ペインで関数を選択します。固定小数点の C コードを表示するには、[生成されるコード] ペインでファイルを選択します。

参考

関連する例

詳細