Main Content

単精度コンバーター入門

単精度コンバーターはモデルまたはモデル内のシステムを倍精度から単精度に変換します。単精度コンバーターを開くには、Simulink®[アプリ] タブから [単精度コンバーター] を選択します。

設計対象のシステムを選択

最初に、[設計対象のシステム] ドロップダウン リストを展開し、単精度に変換するシステムを選択します。

互換性チェック

変換を開始するには、[単精度に変換] をクリックします。

単精度コンバーターは以下のチェックを実行します。

  • 選択したシステム内のすべてのブロックが単精度をサポートしていることを確認します。

    単精度コンバーターは、単精度をサポートしていないブロックや、固定小数点ツールにより変更に対してロックされたブロックのリストを表示します。変換を再開するには、倍精度のみをサポートするブロックを置き換え、固定小数点ツールにより変更に対してロックされたブロックのロックを解除します。次に、[単精度に変換] をクリックします。

  • 単精度設計をサポートするライブラリ標準をシステムが使用していることを確認します。

    システムを単精度に変換するには、言語標準を C99 (ISO) に設定しなければなりません。指定した言語標準が C99 に設定されていない場合、単精度コンバーターは数学ライブラリを変更します。

  • ソルバー設定が固定ステップに設定されていることを確認します。

変換

互換性チェックの後、単精度コンバーターはシステムを単精度に変換します。コンバーターによって以下の変更が行われます。

  • ユーザーが指定した倍精度データ型から単精度データ型への変換 (ブロック設定、Stateflow® チャート設定、信号オブジェクトおよびバス オブジェクトに適用されます)。

  • 設計対象のシステムに MATLAB® Function ブロックが含まれている場合、コンバーターでは、生成された MATLAB Function ブロックの単精度バージョン、および元の MATLAB Function ブロックを含む Variant Subsystem が作成されます。

  • 倍精度から単精度データ型への変更をコンパイルする継承されたデータ型を使用した出力信号と中間設定。

コンバーターは、boolean データ型、組み込みの整数データ型またはユーザーが指定した固定小数点データ型を変更しません。変換が完了すると、コンバーターによって、設計対象のシステム内でオブジェクトのコンパイルされたデータ型と推奨されたデータ型を要約したテーブルが表示されます。

検証

最後に、単精度コンバーターは変換されたシステムを含んでいるモデルがブロック線図を正常に更新できることを確認します。モデルがシステム境界でのデータ型不一致エラーによりブロック線図を更新できない場合、単精度コンバーターはメッセージを表示します。

データ型の不一致を解決するには、Data Type Conversion ブロックをシステム境界に挿入します。また、システムに接続しているブロックの出力データ型を single または [継承:逆伝播による継承] に変更することで、データ型不一致エラーを解決することもできます。

関連するトピック