addTolerance
最適化されたシステムの数値許容誤差の指定
構文
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
を使用した情報のログ記録に関するオプションを指定します。
入力引数
options
— 関連付けられている fxpOptimizationOptions
オブジェクト
fxpOptimizationOptions
許容誤差の指定を追加する fxpOptimizationOptions
オブジェクト。
blockPath
— 許容誤差を追加するブロックのパス
ブロック パス名
許容誤差を追加するブロックのパス。文字ベクトルとして指定します。
データ型: char
| string
portIndex
— ブロックの出力端子のインデックス
スカラー整数
許容誤差を指定する blockPath
で指定されたブロックの出力端子のインデックス。スカラー整数として指定します。
データ型: double
tolType
— 指定する許容誤差のタイプ
'AbsTol'
| 'RelTol'
| 'TimeTol'
指定した端子に追加する許容誤差のタイプ。絶対許容誤差 'AbsTol'
、相対許容誤差 'RelTol'
、または時間の許容誤差 'TimeTol'
として指定します。
絶対許容誤差、相対許容誤差、時間の許容誤差の値の組み合わせを使用して、許容誤差帯域を指定できます。複数の種類の許容誤差を使用して信号の許容誤差を指定した場合、各データ点に対して最も緩い許容誤差の結果を選択することによって許容誤差帯域全体が計算されます。
絶対許容誤差プロパティと相対許容誤差プロパティのみを使用して許容誤差を定義すると、各点の許容誤差が単純な最大値として計算されます。
tolerance = max(absoluteTolerance,relativeTolerance*abs(baselineData));
許容誤差の計算の詳細については、許容誤差の計算を参照してください。
データ型: char
tolValue
— 元の出力と新しい設計の出力の差
double 型のスカラー
blockPath
および portIndex
で指定された信号に対する許容される誤差のレベル。
tolType
が 'AbsTol'
に設定されている場合、tolValue
は元の出力と新しい設計の出力の間で許容される最大差の絶対値を表します。
tolType
が 'RelTol'
に設定されている場合、tolValue
は元の出力と新しい設計の出力の間の最大相対差 (パーセンテージで指定) を表します。たとえば、値 1e-2
は元の出力と新しい設計の出力の最大差が 1% であることを示します。
tolType
が 'TimeTol'
に設定されている場合、tolValue
は、最大値と最小値によって比較する上限値と下限値が定義される時間間隔 (秒単位) を定義します。
絶対許容誤差、相対許容誤差、時間の許容誤差の値の組み合わせを使用して、許容誤差帯域を指定できます。複数の種類の許容誤差を使用して信号の許容誤差を指定した場合、各データ点に対して最も緩い許容誤差の結果を選択することによって許容誤差帯域全体が計算されます。
絶対許容誤差プロパティと相対許容誤差プロパティのみを使用して許容誤差を定義すると、各点の許容誤差が単純な最大値として計算されます。
tolerance = max(absoluteTolerance,relativeTolerance*abs(baselineData));
許容誤差の計算の詳細については、許容誤差の計算を参照してください。
データ型: double
'LoggingInfo',logInfo
— オプションの信号ログ設定
Simulink.SimulationData.LoggingInfo
オブジェクト
オプションの信号ログ設定。名前と値のペアとして指定します。logInfo
は Simulink.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 で導入R2021b: 複数のタイプの許容誤差を指定
関数 addTolerance
を使用して複数のタイプの許容誤差を指定できるようになりました。
addTolerance(options,'model/blockPath',1,'AbsTol',5e-2,'RelTol',1e-2);
R2021b: fxpOptimizationOptions.addTolerance
の構文の変更
以前のリリースでは、Simulink.SimulationData.LoggingInfo
オブジェクトを使用した情報のログ記録に関するオプションを次のように指定していました。
addTolerance(options,blockPath,portIndex,tolType,tolValue,loggingInfo)
R2021b 以降では、情報のログ記録を名前と値のペアとして指定する必要があります。
addTolerance(options,blockPath,portIndex,... tolType,tolValue,'LoggingInfo',logInfo)
R2021a: データ点の数を絞り込んでログに記録
fxpOptimizationOptions
オブジェクトの addTolerance
メソッドを使用して間引き係数を指定することで、シミュレーション データ インスペクターでログに記録されるデータの量を制御できるようになりました。
logInfo = Simulink.SimulationData.LoggingInfo(); logInfo.DecimateData = true; logInfo.Decimation = 10; addTolerance(options,'model/blockPath',2,'AbsTol',1,logInfo);
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)