Simulink.sdi.constraints.MatchesSignalOptions クラス
パッケージ: Simulink.sdi.constraints
説明
Simulink.sdi.constraints.MatchesSignalOptions
オブジェクトを使用して Simulink.sdi.constraints.MatchesSignal
制約のインスタンスについての比較の動作と受容の基準を構成します。
メモ
MatchesSignal
制約は、シミュレーション データ インスペクターを使用して比較を実行します。以下のいずれかの製品ライセンスが必要です。
Simulink®
Signal Processing Toolbox™
MATLAB® Coder™
Fixed-Point Designer™
作成
プロパティ
IgnoreDataTypes
— データ型が一致しないときの制約の動作
false
(既定値) | true
想定される値と異なるデータ型をもつ実際の値に対する制約の感度。
false
— 制約は、想定される値と実際の値とのデータ型が一致することをチェックします。true
— 制約は、想定される値と実際の値とのデータ型の不一致に影響されません。
名前と値のペアの引数 'IgnoringDataTypes'
を使用してコンストラクターの IgnoreDataTypes
プロパティを指定できます。
属性:
GetAccess | public |
SetAccess | public |
IgnoreSignalsNotAligned
— 信号が整列しない場合の制約の動作
false
(既定値) | true
想定される値と実際の値との間で整列されていない 1 つ以上の信号に対する制約の感度。
false
— 制約は、想定される値と実際の値との間で整列しない信号をチェックします。true
— 制約は、想定される値と実際の値との間で整列しない 1 つ以上の信号に影響されません。
名前と値のペアの引数 'IgnoringSignalsNotAligned'
を使用してコンストラクターの IgnoreSignalsNotAligned
プロパティを指定できます。
属性:
GetAccess | public |
SetAccess | public |
IgnoreExtraData
— 実際の値が想定される値と異なる時間間隔をカバーする場合の制約の動作
false
(既定値) | true
想定される値により定義される時間間隔の外側の実際の値に対する制約の感度。
false
— 制約は、想定される値によって定義される時間間隔の外側のデータが実際の値に含まれているかどうかをチェックします。true
— 制約は、想定される値によって定義される時間間隔の外側のデータが実際の値に含まれていても影響されません。
名前と値のペアの引数 'IgnoringExtraData'
を使用してコンストラクターの IgnoreExtraData
プロパティを指定できます。
属性:
GetAccess | public |
SetAccess | public |
Alignment
— 信号の整列の基準
string 配列
比較のための整列基準。想定される値に 1 つ以上の信号が含まれている場合、シミュレーション データ インスペクターの比較アルゴリズムは、想定される値と実際の値との間の比較のため、信号を整列します。既定では、シミュレーション データ インスペクターは、データ ソース、次にブロック パス、次に SID、次に信号名によって整列します。シミュレーション データ インスペクターの整列アルゴリズムの詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。
1 つ以上の以下のオプションを、考慮する順番に string 配列として指定して、整列基準を指定します。
BlockPath
— 信号のソース ブロックのパス。SID
— 自動的に割り当てられる Simulink 識別子。SignalName
— 信号の名前。DataSource
— 変数のパス。
名前と値のペアの引数 'AligningBy'
を使用してコンストラクターの Alignment
プロパティを指定できます。
例
MatchesSignal
制約の動作の構成
この例では、Simulink.sdi.constraints.MatchesSignalOptions
オブジェクトを使用した Simulink.sdi.constraints.MatchesSignal
制約の比較の動作を構成する方法を示します。MatchesSignalOptions
オブジェクトを使用して、MatchesSignal
インスタンスの構築で単一の名前と値のペアの入力をもつ複数の比較プロパティを構成できます。
時系列データの作成
この例では、わかりやすく説明する目的でのみ、使用するワークスペース データを作成します。MatchesSignal
制約を使用して、シミュレーション出力またはテスト データが含まれるファイルなど、その他のソースからのデータを比較できます。また、この制約はシミュレーション データ インスペクターでサポートされている任意の形式で時系列データを比較できます。
この例では、最初の信号は正弦波のデータを含む Wave Data
という名前の timeseries
オブジェクトです。
time = 0:0.1:20;
sig1vals = sin(2*pi/5*time);
sig1_ts = timeseries(sig1vals,time);
sig1_ts.Name = 'Wave Data';
2 つ目の信号も、わずかな減衰があり、異なるレートでサンプリングされる同じ周波数の正弦波です。MatchesSignal
制約の比較アルゴリズムには同期ステップが含まれるため、異なる時間ベクトルをもつこれら 2 つの信号を比較しても、結果が必ずしもテスト エラーになるとは限りません。2 番目の信号は single
データ型にキャストされ、Wave Data
とも呼ばれるため、整列アルゴリズムでは、比較するために信号をペアにすることができます。
time2 = 0:0.1:22;
sig2vals = single(0.98*sin(2*pi/5*time2));
sig2_ts = timeseries(sig2vals,time2);
sig2_ts.Name = 'Wave Data';
MatchesSignal
インスタンスの構成およびデータの比較
MatchesSignalOptions
オブジェクトを使用して、MatchesSignal
制約のインスタンスがデータ型の不一致などの条件を処理する方法と、実際のデータセットと想定されるデータセットとの間で信号が整列される方法を指定できます。書き込むテストに合わせて MatchesSignalOptions
オブジェクトのプロパティを指定できます。たとえば、テストでさまざまな型のデータを比較し、データ型の一致が機能的に関連しない場合、IgnoreDataTypes
プロパティを true
に設定することもできます。
MatchesSignalOptions
オブジェクトを作成して、データ型の不一致や、実際の信号と想定される信号が共有する時間間隔外のデータ サンプルを無視する MatchesSignal
インスタンスを作成します。
import Simulink.sdi.constraints.MatchesSignalOptions opts = MatchesSignalOptions('IgnoringDataTypes',true,'IgnoringExtraData',true);
対話型で使用する TestCase
インスタンスを作成し、MatchesSignal
制約、MatchesSignalOptions
オブジェクト、0.02
の絶対許容誤差を使用して、sig1_ts
と sig2_ts
を比較します。
import matlab.unittest.TestCase testCase = TestCase.forInteractiveUse; import Simulink.sdi.constraints.MatchesSignal testCase.verifyThat(sig2_ts,MatchesSignal(sig1_ts,'AbsTol',0.02,'WithOptions',opts))
Verification passed.
テストにパスします。MatchesSignalOptions
オブジェクトで定義されたオプションなしで、同じテストを再実行すると、データ型の不一致が原因でテストは失敗します。
testCase.verifyThat(sig2_ts,MatchesSignal(sig1_ts,'AbsTol',0.02))
Verification failed. --------------------- Framework Diagnostic: --------------------- MatchesSignal(<Value>,'AbsTol',0.02) failed. --> Data types do not match for the following aligned signals: Name ActualSignals ActualDataType ExpectedSignals ExpectedDataType _________ _____________ ______________ _______________ ________________ Wave Data <Actual>.Data single <Expected>.Data double ------------------ Stack Information: ------------------ In /tmp/Bdoc23a_2181783_2898774/tp96c38b24/simulink-ex71177165/ConfigureMatchesSignalConstraintBehaviorExample.mlx (ConfigureMatchesSignalConstraintBehaviorExample) at 16 In /mathworks/devel/bat/Bdoc23a/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/evaluateRegions.p (evaluateRegions) at 0 In /mathworks/devel/bat/Bdoc23a/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/EvaluationOutputsService.p (EvaluationOutputsService.evalRegions) at 0 In /mathworks/devel/bat/Bdoc23a/build/matlab/toolbox/matlab/codetools/+matlab/+internal/+liveeditor/@LiveEditorUtilities/execute.m (execute) at 68 In /mathworks/devel/bat/Bdoc23a/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRun) at 431 In /mathworks/devel/bat/Bdoc23a/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRunConvert) at 346 In /mathworks/devel/bat/Bdoc23a/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (liveCodeToDocbook) at 164 In /mathworks/devel/bat/Bdoc23a/build/matlab/tools/build_using_matlab/BML.m (BML) at 13
バージョン履歴
R2019a で導入
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)