Main Content

最適化されたルックアップ テーブルの MATLAB 関数としての生成

この例では、ルックアップ テーブル オプティマイザーを使用して、y = 1/(1+exp^(-x)) を MATLAB® 関数のルックアップ テーブルとして近似する方法を示します。

  1. ルックアップ テーブル オプティマイザーを開くには、Simulink®[アプリ] タブにある [コード生成] ギャラリーで [ルックアップ テーブル オプティマイザー] をクリックします。

  2. アプリの [目的] ペインで、ソースとして [MATLAB 関数ハンドル] を選択します。[次へ] をクリックします。

  3. [設定] ペインで、関数ハンドル @(x)(1/(1+exp(-x))) を指定します。

    下のテーブルに属性が取り込まれます。フィールドを手動で編集して、取り込まれた以外の範囲やデータ型を指定できます。この例では、[最小値]0[最大値]0.25 に設定します。

    [次へ] をクリックします。

  4. [作成] ペインで、設計で許容可能な [出力の許容誤差] を設定します。

    最適化されたルックアップ テーブルの追加のプロパティを指定するには、[LUT 仕様] をクリックします。[解のタイプ][MATLAB] に変更します。

    制約と追加のオプションが決まったら、[最適化] をクリックします。最適化が完了すると、最適化されたルックアップ テーブルのメモリがルックアップ テーブル オプティマイザーでレポートされます。制約を編集し、最適化をもう一度実行すると、さらにメモリを削減できます。

    Table showing memory and data types of optimized lookup table.

    [次へ] をクリックすると、[結果] ペインが表示されます。

  5. [比較プロットを表示] をクリックすると、元の関数の出力と新たに最適化されたルックアップ テーブルの出力を比較したプロットが表示されます。

    Plot of original function output vs output of optimized lookup table.

  6. [最適化された LUT の表示] をクリックすると、MATLAB コマンド ウィンドウで起動されたルックアップ テーブル関数が表示されます。

参考

関連するトピック