Main Content

構造体を含むコードの固定小数点への変換

この例では固定小数点コンバーター アプリを使用して構造体を含む MATLAB® アルゴリズムを固定小数点に変換する方法について説明します。

  1. ローカルの書き込み可能なフォルダーで関数 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

  2. 同じフォルダーに関数を呼び出すテスト ファイル struct_fcn_tb.m を作成します。

    for ii = 1:10
        struct_fcn(ii);
    end

  3. アプリ ギャラリーから固定小数点コンバーター アプリを開きます。

  4. [ソース ファイルの選択] ページで struct_fcn.m ファイルを探して [開く] をクリックします。

  5. [次へ] をクリックします。[入力の型を定義] ページで、関数 struct_fcn を実行するテスト ファイルを入力します。struct_fcn_tb.m ファイルを参照して選択します。[入力の型の自動定義] をクリックします。

  6. [次へ] をクリックします。エントリポイント MATLAB 関数用にインストルメント化された MEX 関数がアプリによって生成されます。[固定小数点に変換] ページで [シミュレーション] をクリックし、関数のシミュレーションを実行して範囲情報を収集し、データ型を推奨します。

    2 つ以上の構造体のフィールドの名前、数、型が一致すると、固定小数点コンバーター アプリは結合された型を推奨します。この例では、z.prop1.subprop1 の範囲は [0,0] で、y.prop1.subprop1 の範囲は [0,10] です。アプリは 2 つのフィールドの範囲の和集合に基づいて、numerictype(0,4,0) のデータ型を z.prop1.subprop1y.prop1.subprop1 の両方に推奨します。

  7. [変換] をクリックします。

    固定小数点コンバーターは構造体を含む関数を固定小数点に変換し、struct_fcn_fixpt.m ファイルを生成します。

関連するトピック