Main Content

addTolerance

クラス: fxpOptimizationOptions

最適化されたシステムの数値許容誤差の指定

構文

addTolerance(options,blockPath,portIndex,tolType,tolValue)
addTolerance(options,blockPath,portIndex,tolType,tolValue,'LoggingInfo',logInfo)

説明

addTolerance(options,blockPath,portIndex,tolType,tolValue) は、tolType で指定された許容誤差タイプと tolValue で指定された値を使用して、blockPath および portIndex で指定された出力信号に対する数値許容誤差を指定します。

addTolerance(options,blockPath,portIndex,tolType,tolValue,'LoggingInfo',logInfo) は、許容誤差と、Simulink.SimulationData.LoggingInfo を使用した情報のログ記録に関するオプションを指定します。

入力引数

すべて展開する

許容誤差の指定を追加する fxpOptimizationOptions オブジェクト。

許容誤差を追加するブロックのパス。文字ベクトルとして指定します。

データ型: char | string

許容誤差を指定する blockPath で指定されたブロックの出力端子のインデックス。スカラー整数として指定します。

データ型: double

指定した端子に追加する許容誤差のタイプ。絶対許容誤差 'AbsTol'、相対許容誤差 'RelTol'、または時間の許容誤差 'TimeTol' として指定します。

絶対許容誤差、相対許容誤差、時間の許容誤差の値の組み合わせを使用して、許容誤差帯域を指定できます。複数の種類の許容誤差を使用して信号の許容誤差を指定した場合、各データ点に対して最も緩い許容誤差の結果を選択することによって許容誤差帯域全体が計算されます。

絶対許容誤差プロパティと相対許容誤差プロパティのみを使用して許容誤差を定義すると、各点の許容誤差が単純な最大値として計算されます。

tolerance = max(absoluteTolerance,relativeTolerance*abs(baselineData));

許容誤差の計算の詳細については、許容誤差の計算を参照してください。

データ型: char

blockPath および portIndex で指定された信号に対する許容される誤差のレベル。

tolType'AbsTol' に設定されている場合、tolValue は元の出力と新しい設計の出力の間で許容される最大差の絶対値を表します。

tolType'RelTol' に設定されている場合、tolValue は元の出力と新しい設計の出力の間の最大相対差 (パーセンテージで指定) を表します。たとえば、値 1e-2 は元の出力と新しい設計の出力の最大差が 1% であることを示します。

tolType'TimeTol' に設定されている場合、tolValue は、最大値と最小値によって比較する上限値と下限値が定義される時間間隔 (秒単位) を定義します。

絶対許容誤差、相対許容誤差、時間の許容誤差の値の組み合わせを使用して、許容誤差帯域を指定できます。複数の種類の許容誤差を使用して信号の許容誤差を指定した場合、各データ点に対して最も緩い許容誤差の結果を選択することによって許容誤差帯域全体が計算されます。

絶対許容誤差プロパティと相対許容誤差プロパティのみを使用して許容誤差を定義すると、各点の許容誤差が単純な最大値として計算されます。

tolerance = max(absoluteTolerance,relativeTolerance*abs(baselineData));

許容誤差の計算の詳細については、許容誤差の計算を参照してください。

データ型: double

オプションの信号ログ設定。名前と値のペアとして指定します。logInfoSimulink.SimulationData.LoggingInfo オブジェクトです。この入力引数を使用して、シミュレーション データ インスペクターでログに記録されるデータの量を制御する Decimation 値を指定します。

例: logInfo = Simulink.SimulationData.LoggingInfo(); logInfo.DecimateData = true; logInfo.Decimation = 10; addTolerance(options, 'model/blockPath',2,'AbsTol',1,'LoggingInfo',logInfo);

すべて展開する

データ型を最適化するシステムを読み込みます。

load_system('ex_auto_gain_controller');

fxpOptimizationOptions オブジェクトを既定のプロパティ値で作成します。

options = fxpOptimizationOptions;

最適化プロセスで使用が必要となる数値許容誤差を指定するには、fxpOptimizationOptions オブジェクトの addTolerance メソッドを使用します。許容誤差の制約を複数指定する場合は、このメソッドを制約ごとに 1 回呼び出します。相対許容誤差と絶対許容誤差のいずれかの制約を指定できます。

addTolerance(options, 'ex_auto_gain_controller/output_signal', 1, 'AbsTol', 5e-2);
addTolerance(options, 'ex_auto_gain_controller/input_signal', 1, 'RelTol', 1e-2);

showTolerances メソッドを使用して、指定した fxpOptimizationOptions オブジェクトに追加されたすべての許容誤差の制約を表示します。

showTolerances(options)
                      Path                       Port_Index    Tolerance_Type    Tolerance_Value
    _________________________________________    __________    ______________    _______________

    {'ex_auto_gain_controller/output_signal'}        1           {'AbsTol'}           0.05      
    {'ex_auto_gain_controller/input_signal' }        1           {'RelTol'}           0.01      


ans =

  2x4 table

                      Path                       Port_Index    Tolerance_Type    Tolerance_Value
    _________________________________________    __________    ______________    _______________

    {'ex_auto_gain_controller/output_signal'}        1           {'AbsTol'}           0.05      
    {'ex_auto_gain_controller/input_signal' }        1           {'RelTol'}           0.01      

バージョン履歴

R2018a で導入

すべて展開する