構造体を含むコードの固定小数点への変換
この例では固定小数点コンバーター アプリを使用して構造体を含む MATLAB® アルゴリズムを固定小数点に変換する方法について説明します。
ローカルの書き込み可能なフォルダーで関数
struct_fcn.m
を作成します。function [out, y] = struct_fcn(in) % create a nested struct z = struct('prop1', struct('subprop1', 0, 'subprop2', [3 4 45])); % copy over the struct y = z; y.prop1.subprop1 = y.prop1.subprop1 + in; out = y.prop1.subprop1; end
同じフォルダーに関数を呼び出すテスト ファイル
struct_fcn_tb.m
を作成します。for ii = 1:10 struct_fcn(ii); end
アプリ ギャラリーから固定小数点コンバーター アプリを開きます。
[ソース ファイルの選択] ページで
struct_fcn.m
ファイルを探して [開く] をクリックします。[次へ] をクリックします。[入力の型を定義] ページで、関数
struct_fcn
を実行するテスト ファイルを入力します。struct_fcn_tb.m
ファイルを参照して選択します。[入力の型の自動定義] をクリックします。[次へ] をクリックします。エントリポイント MATLAB 関数用にインストルメント化された MEX 関数がアプリによって生成されます。[固定小数点に変換] ページで [シミュレーション] をクリックし、関数のシミュレーションを実行して範囲情報を収集し、データ型を推奨します。
2 つ以上の構造体のフィールドの名前、数、型が一致すると、固定小数点コンバーター アプリは結合された型を推奨します。この例では、
z.prop1.subprop1
の範囲は[0,0]
で、y.prop1.subprop1
の範囲は[0,10]
です。アプリは 2 つのフィールドの範囲の和集合に基づいて、numerictype(0,4,0)
のデータ型をz.prop1.subprop1
とy.prop1.subprop1
の両方に推奨します。[変換] をクリックします。
固定小数点コンバーターは構造体を含む関数を固定小数点に変換し、
struct_fcn_fixpt.m
ファイルを生成します。