主要内容

金宝appSimulink.sdi.constraints.MatchesSignalclass

包:金宝appSimulink.sdi.constraints
超类:matlab.unittest.constraints.Constraint

约束,比较时间序列数据与公差使用仿真数据检查员

自从R2019a

描述

使用金宝appSimulink.sdi.constraints.MatchesSignal约束比较时间序列数据对一个期望值作为一个测试的一部分。您可以配置约束使用的组合绝对的,相对的,和时间公差值比较。您还可以指定附加选项配置比较使用的行为金宝appSimulink.sdi.constraints.MatchesSignalOptions对象或使用一个或多个名称-值对的观点。更多信息关于公差和对齐选项影响比较,看看仿真数据检查比较如何

请注意

MatchesSignal限制使用仿真数据检查进行比较,需要许可证的产品:下载188bet金宝搏

  • 金宝app®

  • 信号处理工具箱™

  • MATLAB®编码器™

  • 定点设计师™

创建

描述

例子

MatchesSignal (expVal)创建一个约束,确定时间序列数据代表一个实际值与预期值指定的数据匹配,expVal

例子

MatchesSignal (expVal,名称,值)创建额外的约束属性由一个或多个指定名称,值对参数。

输入参数

全部展开

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“IgnoringDataTypes”,真的

配置约束对实际值与期望值不同的数据类型。

  • ——约束检查的期望值和实际值数据类型是否匹配。

  • 真正的——约束对数据类型不匹配的期望值和实际值。

例子:“IgnoringDataTypes”,真的

配置约束灵敏度不是一个或多个信号调整期望值和实际值之间的关系。

  • ——约束检查信号不对齐的期望值和实际值之间的关系。

  • 真正的约束是对一个或多个信号不调整期望值和实际值之间的关系。

例子:“IgnoringSignalsNotAligned”,真的

配置约束灵敏度之外的实际价值包含的数据定义的时间间隔期望值。

  • ——约束检查的实际价值是否包含在定义的时间间隔数据期望值。

  • 真正的——约束是不包含数据的实际价值以外的时间间隔定义为预期的价值。

例子:“IgnoringExtraData”,真的

校准标准的比较。当预期值包含不止一个信号,仿真数据检查比较算法将信号期望值和实际值之间的比较。默认情况下,模拟数据源督察对齐的数据,然后通过块路径,然后通过SID,然后通过信号名称。对仿真数据的细节检查员对齐算法,明白了仿真数据检查比较如何

指定对齐标准作为字符串数组与一个或更多的这些选项中列出你希望他们考虑的顺序:

  • BlockPath——源块路径的信号。

  • SID——自动分配模型标识符。金宝app

  • SignalName——信号的名称。

  • 数据源-路径的变量。

例子:“AligningBy”, (“SignalName”、“BlockPath”)指定信号对齐的信号名称,然后通过块路径。

属性

全部展开

期望值作为比较的基准。预期值的数据必须与时间对数据值。可以在任何数据格式支持的仿真数据检查员。金宝app仿真数据检查员需要数据的格式,将样本值与时间。金宝app支持的格式包括timeseries,结构随着时间的推移,数据集

您可以指定约束使用变量的期望值在工作区中包含数据或通过指定完整路径或文件名的文件,其中包含数据,作为字符串标量或字符数组。

属性:

GetAccess
公共
SetAccess
不可变的

金宝appSimulink.sdi.constraints.MatchesSignalOptions对象,该对象指定选项来配置约束的比较。默认情况下,比较使用的默认对齐方式设置仿真数据检查和严格的验收标准,也就是说,比较不忽略任何检查。您可以使用MatchesSignalOptions属性配置约束如何将信号在预期和实际运行和测试使用约束是否敏感:

  • 实际值具有不同数据类型的期望值。

  • 一个或多个信号不预期和实际运行之间的调整。

  • 外面的实际价值包含的数据定义的时间间隔期望值。

您可以指定MatchesSignalOptions使用单个属性的约束名称-值对的观点或使用名称-值对“WithOptions”与一个金宝appSimulink.sdi.constraints.MatchesSignalOptions对象的值。当你指定MatchesSignalOptions财产使用MatchesSignalOptions对象,您可以使用一个名称-值对配置的所有选项比较使用约束。

属性:

GetAccess
公共
SetAccess
不可变的

数据类型:金宝appSimulink.sdi.constraints.MatchesSignalOptions

绝对容忍比较使用约束。详情如何仿真数据检查员使用公差值比较,看看仿真数据检查比较如何

例子:0.1

例子:2

属性:

GetAccess
公共
SetAccess
不可变的

数据类型:

使用约束相对宽容的比较。例如,指定0.1使用10%的公差比较。详情如何仿真数据检查员使用公差值比较,看看仿真数据检查比较如何

例子:0.05

属性:

GetAccess
公共
SetAccess
不可变的

数据类型:

使用约束时间对比较,在几秒钟内。详情如何仿真数据检查员使用公差值比较,看看仿真数据检查比较如何

例子:0.001

属性:

GetAccess
公共
SetAccess
不可变的

数据类型:

例子

全部折叠

这个例子展示了如何使用金宝appSimulink.sdi.constraints.MatchesSignal约束比较在工作区中使用数据生成的时间序列数据。您可以使用MatchesSignal约束比较数据从许多来源,包括测量测试数据在文件和记录仿真输出。

当你使用MatchesSignal限制,您可以指定绝对、相对和时间比较中使用的公差。的MatchesSignal限制使用模拟数据检查比较算法,其中包括步骤校准和同步。关于该算法的更多信息,请参阅仿真数据检查比较如何

MatchesSignal限制使用模拟数据时间序列比较和检查员需要这些产品之一:下载188bet金宝搏

  • 金宝app仿真软件®

  • 信号处理工具箱™

  • MATLAB编码器™

  • 定点设计师™

创建时间序列数据

这个示例中生成工作空间中的数据timeseries格式仅为演示之用。您可以使用MatchesSignal约束比较数据从其他来源,如模拟输出或包含测试数据的文件,和约束可以在任何支持的格式比较时间序列数据仿真数据检查员。金宝app

在这个例子中,第一个是一个信号timeseries对象包含的数据对于一个正弦波的名字波数据

时间= 0:0.1:20;sig1vals =罪(2 * 5π/ *时间);sig1_ts = timeseries (sig1vals、时间);sig1_ts。Name =“波数据”;

第二个信号也是一个正弦波的频率,略有衰减和采样速度不同。因为比较算法MatchesSignal约束包括同步步骤,比较这两个信号不同时间向量并不总是导致测试失败。第二个信号也叫波数据所以对齐算法可以对信号进行比较。

time2 = 0:0.05:20;sig2vals = 0.98 * sin(2 * 5π/ * time2);sig2_ts = timeseries (sig2vals time2);sig2_ts。Name =“波数据”;

创建一个测试用例,比较信号

这个例子使用一个交互式测试用于演示目的。您可以使用MatchesSignalMATLAB的约束与其他类型的单元测试测试框架。例如,编写基于类的单元测试,看看编写简单的测试用例使用类

创建一个TestCase实例交互使用。

进口matlab.unittest.TestCasetestCase = TestCase.forInteractiveUse;

比较sig1_tssig2_ts使用MatchesSignal约束。使用sig1_ts的期望值的实例MatchesSignal约束。

进口金宝appSimulink.sdi.constraints.MatchesSignaltestCase.verifyThat (sig2_ts MatchesSignal (sig1_ts));
验证失败。- - - - - - - - - - - - - - - - - - - - - - - -框架诊断:- - - - - - - - - - - - - - - - - - - - - - - - MatchesSignal(<价值>)失败。- - >以下一致信号不匹配:名字ActualSignals ExpectedSignals _____ _________________售予波数据实际> <。数据<预期>。数据比较结果保存到:- - > / tmp / Bdoc23a_2213998_2913825 comparisonresults_48f498c2 b09f - 4227 bd1b a271b17——29370。mldatx - - - - - - - - - - - - - - - - - -堆栈信息:- - - - - - - - - - - - - - - - - -在/ tmp / Bdoc23a_2213998_金宝app2913825 / tpac99fd01 / simulink-ex22803619 / TestTimeSeriesDataWithTimeToleranceExample。mlx (TestTimeSeriesDataWithTimeToleranceExample)在14 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / embeddedoutputs / + / + / +内部编辑器/ evaluateRegions。p (evaluateRegions)在0 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / embeddedoutputs / + / + / +内部编辑器/ EvaluationOutputsService。p (EvaluationOutputsService.evalRegions)在0 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / + / + / +内部liveeditor @LiveEditorUtilities /执行。(执行)68 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。431 (doRun) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。346 (doRunConvert) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。164 (liveCodeToDocbook) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / / build_using_matlab / BML工具。在13米(BML)

诊断信息显示,验证失败。当一个测试失败,比较结果和原始数据保存在一个模拟数据检查会话文件。MLDATX文件点击链接打开会话在仿真数据检查员,在那里你可以调查比较的数据测试和比较的结果。当你检查结果中,您可以看到衰减创建和原因的差异比较失败。

指定一个绝对的宽容0.02的实例MatchesSignal约束用于比较。

testCase.verifyThat (sig2_ts MatchesSignal (sig1_ts“AbsTol”,0.02));
验证通过。

这个例子展示了如何配置的比较行为金宝appSimulink.sdi.constraints.MatchesSignal限制使用金宝appSimulink.sdi.constraints.MatchesSignalOptions对象。您可以使用一个MatchesSignalOptions对象配置多重比较属性与一个名称-值对输入的建设MatchesSignal实例。

创建时间序列数据

这个示例创建工作区数据仅用于演示目的。您可以使用MatchesSignal约束比较数据从其他来源,如模拟输出或包含测试数据的文件,和约束可以在任何支持的格式比较时间序列数据仿真数据检查员。金宝app

在这个例子中,第一个是一个信号timeseries对象的名称波数据包含数据为正弦波。

时间= 0:0.1:20;sig1vals =罪(2 * 5π/ *时间);sig1_ts = timeseries (sig1vals、时间);sig1_ts。Name =“波数据”;

第二个信号也是一个正弦波的频率,略有衰减和采样速度不同。因为比较算法MatchesSignal约束包括同步步骤,比较这两个信号不同时间向量并不一定导致测试失败。第二个信号是演员数据类型和还任命波数据所以对齐算法可以对信号进行比较。

time2 = 0:0.1:22;sig2vals =单(0.98 * sin(π/ 2 * 5 * time2));sig2_ts = timeseries (sig2vals time2);sig2_ts。Name =“波数据”;

配置一个MatchesSignal实例和比较数据

您可以使用一个MatchesSignalOptions指定对象的一个实例MatchesSignal约束处理等条件不匹配的数据类型和信号是如何实际的和预期的数据集之间的对齐。您可以指定的属性MatchesSignalOptions对象,以适应测试你想写。例如,如果你想让你的测试比较不同的数据类型和数据类型不匹配功能相关,你可以设置IgnoreDataTypes财产真正的

创建一个MatchesSignalOptions对象创建一个MatchesSignal实例,忽略了数据类型不匹配和数据样本以外的时间间隔的实际和预期的信号。

进口金宝appSimulink.sdi.constraints.MatchesSignalOptions选择= MatchesSignalOptions (“IgnoringDataTypes”,真的,“IgnoringExtraData”,真正的);

创建一个TestCase实例交互使用和比较sig1_tssig2_ts使用MatchesSignal约束,MatchesSignalOptions对象,绝对的宽容0.02

进口matlab.unittest.TestCasetestCase = TestCase.forInteractiveUse;进口金宝appSimulink.sdi.constraints.MatchesSignaltestCase.verifyThat (sig2_ts MatchesSignal (sig1_ts“AbsTol”,0.02,“WithOptions”,选择))
验证通过。

测试通过。当你再次运行相同的测试没有定义的选项MatchesSignalOptions对象,测试失败由于不匹配的数据类型。

testCase.verifyThat (sig2_ts MatchesSignal (sig1_ts“AbsTol”0.02))
验证失败。- - - - - - - - - - - - - - - - - - - - - - - -框架诊断:- - - - - - - - - - - - - - - - - - - - - - - - MatchesSignal(<价值>,“AbsTol”, 0.02)失败。- - >数据类型不匹配的对齐后的信号:名字ActualSignals ActualDataType ExpectedSignals ExpectedDataType售予___________ _____ _________________ * * *波数据实际> <。数据单> <预期。数据的两倍- - - - - - - - - - - - - - - - - -堆栈信息:- - - - - - - - - - - - - - - - - -在/ tmp / Bdoc23a_2213998_2904105金宝app / tp3e641a9d / simulink-ex71177165 / ConfigureMatchesSignalConstraintBehaviorExample。mlx (ConfigureMatchesSignalConstraintBehaviorExample) 16岁/ mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / embeddedoutputs / + / + / +内部编辑器/ evaluateRegions。p (evaluateRegions)在0 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / embeddedoutputs / + / + / +内部编辑器/ EvaluationOutputsService。p (EvaluationOutputsService.evalRegions)在0 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / matlab工具箱/ matlab / codetools / + / + / +内部liveeditor @LiveEditorUtilities /执行。(执行)68 / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。431 (doRun) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。346 (doRunConvert) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab /工具/ / exampletools / + mwtools / liveCodeToDocbook例子。164 (liveCodeToDocbook) / mathworks /猛击/棒/ Bdoc23a /构建/ matlab / / build_using_matlab / BML工具。在13米(BML)

版本历史

介绍了R2019a

全部展开