Main Content

FunctionApproximation.Options クラス

パッケージ: FunctionApproximation

FunctionApproximation.Problem オブジェクトで使用する追加オプションの指定

説明

FunctionApproximation.Options オブジェクトには、FunctionApproximation.Problem オブジェクトを定義する追加のオプションが格納されます。

作成

options = FunctionApproximation.Options() は、FunctionApproximation.Problem オブジェクトへの入力として使用する FunctionApproximation.Options オブジェクトを作成します。出力 options では既定のプロパティ値が使用されます。

options = FunctionApproximation.Options(Name,Value) は、1 つ以上の Name,Value のペアの引数で指定されたプロパティ値を使用して FunctionApproximation.Options オブジェクトを作成します。Name は一重引用符 ('') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前/値の引数ペアを任意の順番で指定できます。

プロパティ

すべて展開する

元の出力値と近似の出力値の差の絶対値の最大許容誤差。非負のスカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

近似プロセス中のモデル ブロック線図の更新を許可するかどうか。数値または logical 1 (true) または 0 (false) として指定します。このプロパティは、Lookup Table ブロックまたは Math Function ブロックを近似する項目として指定する FunctionApproximation.Problem オブジェクトにのみ関連します。

データ型: logical

最適化されたルックアップ テーブルの出力方法。'Simulink' または 'MATLAB' として指定します。このプロパティが 'Simulink' に設定されている場合、approximate メソッドは、最適化されたルックアップ テーブルを含む Simulink® サブシステムを生成します。このプロパティが 'MATLAB' に設定されている場合、approximate メソッドは、最適化されたルックアップ テーブルを MATLAB® 関数として出力します。

最適化されたルックアップ テーブルの MATLAB 関数としての生成は、次の場合はサポートされません。

  • AUTOSARCompliant プロパティが true に設定されている

  • UseParallel プロパティが true に設定されている

  • HDLOptimized プロパティが true に設定されている

  • InterpolationMethod プロパティが 'None' に設定されている

メモ

FunctionApproximation パッケージで生成される Simulink ブロックと MATLAB 関数のルックアップ テーブルの近似は、数値的に等価にならない場合があります。ただし、どちらの解の形式でも、最適化問題で指定されたすべての制約を満たすことが保証されます。

例: options.ApproximateSolutionType ='MATLAB';

データ型: char

生成されたルックアップ テーブルが AUTOSAR 準拠かどうか。数値または logical 1 (true) または 0 (false) として指定します。このプロパティが 1 (true) に設定されている場合、生成されたルックアップ テーブルは AUTOSAR Blockset からの Curve または Map ブロックです。このプロパティが 1 (true) に設定されている場合、テーブル データのデータ型はブロックの出力データ型と等しくなければなりません。

このプロパティを 1 (true) に設定すると、approximate メソッドまたは replaceWithApproximate メソッドを使用する際に AUTOSAR Blockset ライセンスがチェックアウトされます。

このプロパティは、ApproximateSolutionType プロパティが 'MATLAB' に設定されている場合はサポートされません。

データ型: logical

ブレークポイント データの間隔。次の値のいずれかとして指定します。

ブレークポイントの指定説明
ExplicitValuesルックアップ テーブルのブレークポイントを明示的に指定します。入力範囲ごとにブレークポイントの間隔を小さくしたり大きくしたりできます。
EvenSpacingルックアップ テーブルのブレークポイントを全体に等間隔にします。
EvenPow2Spacingルックアップ テーブルのブレークポイントで 2 のべき乗の間隔を使用します。このブレークポイントの指定を使用すると、位置検索をビット シフトに置き換えることができるため実行速度が最速になります。

ブレークポイントの指定によるパフォーマンスへの影響の詳細については、速度、誤差、およびメモリの使用量に与える間隔の影響を参照してください。

データ型: char

最適化の各反復の詳細を表示するかどうか。数値または logical 1 (true) または 0 (false) として指定します。値が 1 (true) の場合、近似プロセスの反復ごとにコマンド ウィンドウに情報が表示されます。値が 0 (false) の場合、近似が完了するまで情報が表示されません。

データ型: logical

オプティマイザーで、テーブル データとブレークポイントについて半精度データ型を確認できるようにするかどうか。数値または logical 1 (true) または 0 (false) として指定します。

データ型: logical

HDL 用に最適化された近似を生成するかどうか。数値または logical 1 (true) または 0 (false) として指定します。値が 1 (true) の場合、近似は、Prelookup ステップとそれに続く内挿で構成されるサブシステムになります。これは、効率的な HDL コードを生成するための明示的なパイプラインをもつルックアップ テーブルとして機能します。

HDL 用に最適化された近似を生成するには、近似する関数が 1 次元でなければならず、BreakpointSpecificationEvenSpacing または EvenPow2Spacing に設定しなければなりません。

このプロパティは、ApproximateSolutionType プロパティが 'MATLAB' に設定されている場合はサポートされません。

データ型: logical

入力がブレークポイント値の間に来た場合、ルックアップ テーブルは隣接するブレークポイントを使って出力値を内挿します。

内挿法説明
Linear隣接するブレークポイント間で直線を近似させ、そのライン上の入力に対応する点を返します。
Flat入力値のすぐ下のブレークポイント値に対応する出力値を返します。入力値の下にブレークポイント値がない場合は、その入力値に最も近いブレークポイント値が返されます。
Nearest入力に最も近いブレークポイントに対応する値を返します。入力が隣接する 2 つのブレークポイントから等間隔にある場合、インデックスの大きいブレークポイントが選択されます。
None

内挿、外挿なしのテーブル ルックアップを実行する Direct Lookup Table (n-D) ブロックを生成します。

メモ

Direct Lookup Table ブロックを生成する場合、入力の最大数は 2 になります。

内挿法 None は、ApproximateSolutionType プロパティが 'MATLAB' に設定されている場合はサポートされません。

データ型: char

生成されたルックアップ テーブルが使用できるメモリの最大量 (ビット単位)。スカラー整数として指定します。オプションの単位は MemoryUnits プロパティを使用して変更できます。

データ型: double

近似を実行する最大時間。秒単位のスカラー数値として指定します。指定した時間に達するか、理想的な解が見つかるか、または別の停止条件に達するまで近似が実行されます。

データ型: double

MaxMemoryUsage プロパティの単位。'bits''bytes'、または他の列挙されたオプションの 1 つとして指定します。

データ型: char

テーブルの値を、近似される関数の量子化された出力に制約するかどうか。数値または logical 1 (true) または 0 (false) として指定します。このプロパティを 0 (false) に設定し、曲線上にないテーブルの値を許可することで、同じ許容誤差を維持しながらルックアップ テーブルのメモリを削減したり、許容誤差を減らしながら同じメモリを維持したりできる可能性があります。

データ型: logical

元の出力値と近似の出力値の相対差の最大許容誤差。非負のスカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

関数の出力範囲を自動的に飽和して出力データ型の範囲に近似させるかどうか。数値または logical 1 (true) または 0 (false) として指定します。

例: options.SaturateToOutputType = 1;

データ型: logical

最適化の反復を並列に実行するかどうか。数値または logical 1 (true) または 0 (false) として指定します。反復を並列に実行するには、Parallel Computing Toolbox™ ライセンスが必要です。Parallel Computing Toolbox ライセンスがない場合、または 0 (false) を指定すると、反復は逐次実行されます。

このプロパティは、ApproximateSolutionType プロパティが 'MATLAB' に設定されている場合はサポートされません。

例: options.UseParallel = true;

データ型: logical

使用するハードウェアに基づいてルックアップ テーブルの近似で使用できる語長をビット単位で指定します。たとえば、ターゲットが組み込みプロセッサであれば、ルックアップ テーブルのデータ型をネイティブ型の 8、16、32 に制限できます。語長は 1 と 128 の間でなければなりません。

例: options.WordLengths = [8,16,32];

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

制限

  • ルックアップ テーブル オブジェクトとブレークポイント オブジェクトは、モデル マスク ワークスペースではサポートされていません。

アルゴリズム

BreakpointSpecification'ExplicitValues' に設定すると、近似プロセスのアルゴリズムで解を求めるときに 'EvenSpacing''EvenPow2Spacing' も使用されます。同様に、BreakpointSpecification'EvenSpacing' に設定すると、アルゴリズムで解を求めるときに 'EvenPow2Spacing' も使用されます。このプロパティを 'EvenPow2Spacing' に設定した場合は、アルゴリズムで解を求めるときにこの間隔のみが使用されます。

BreakpointSpecification プロパティが 'EvenSpacing' に設定されていても、FunctionApproximation.Problem オブジェクトの InputUpperBounds プロパティまたは InputLowerBounds プロパティが InputTypes の範囲と等しい場合は、アルゴリズムで解を求める際に 'EvenPow2Spacing' は使用されません。

バージョン履歴

R2018a で導入