包裹:金宝appSimulink.sdi.constraints
超类:matlab.unittest.Constraints.Constraint.
使用模拟数据检查器将时间序列数据与公差进行比较的约束
使用金宝appsimulink.sdi.constraints.matchessignal.
作为测试的一部分,将时间序列数据与期望值进行比较的约束。您可以将约束配置为使用绝对、相对和时间公差值的组合进行比较。您还可以使用金宝appSimulink.sdi.constraints.MatchesSignalOptions
对象或使用一个或多个名称-值对的观点.有关公差和对齐选项如何影响比较的更多信息,请参见仿真数据检查器如何比较数据.
指定可选的逗号分离对名称,价值
参数。名称
是参数名称和价值
是对应的值。名称
必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家
.
“IgnoringDataTypes”,真的
忽略数据类型
-数据类型不匹配时的约束行为错误的
(默认)|符合事实的
将约束灵敏度配置为与预期值具有不同数据类型的实际值。
错误的
-该约束检查预期值和实际值数据类型是否匹配。
符合事实的
- 对预期值和实际值之间的数据类型不敏感而不敏感约束。
例子:“IgnoringDataTypes”,真的
忽略信号未激活
-信号不对齐时的约束行为错误的
(默认)|符合事实的
配置对一个或多个未在期望值和实际值之间对齐的信号的约束灵敏度。
错误的
—约束检查期望值和实际值之间没有对齐的信号。
符合事实的
- 约束对在预期值和实际值之间不对齐的一个或多个信号不敏感。
例子:“忽略信号未标记”,对
IgnoringExtraData
-当实际值覆盖的时间间隔与期望值不同时,约束行为错误的
(默认)|符合事实的
将约束敏感性配置为包含由期望值定义的时间间隔之外的数据的实际值。
错误的
-约束检查实际值是否包含超出预期值定义的时间间隔的数据。
符合事实的
- 约束对包含由预期值定义的时间间隔之外的数据的实际值不敏感。
例子:“IgnoringExtraData”,没错
对齐地
-信号校准标准比较标准进行比较。当预期值包含多于一个信号时,模拟数据检查器比较算法对准信号以进行预期和实际值之间的比较。默认情况下,模拟数据检查器由数据源对齐,然后按块路径,然后由SID,然后按信号名称逐。有关仿真数据检查器对齐算法的详细信息,请参阅仿真数据检查器如何比较数据.
将对齐条件指定为字符串数组,其中包含您希望它们所考虑的顺序列出的一个或多个选项:
闭塞通道
—信号到源块的路径。
s
-S金宝appimulink标识符。有关详细信息,请参阅金宝appSimulink标识符.
SignalName
- 信号的名称。
数据来源
—变量的路径。
例子:'对齐方式',[“信号名称”,“块路径”]
通过信号名称,然后按块路径指定信号对齐。
预期
-用作比较基准的预期值用作比较的基线的预期价值。预期值的数据必须随时间配对数据值。数据可以是模拟数据检查器支持的任何格式。金宝app模拟数据检测器需要以与时间相关联的格式的格式。金宝app支持的格式包括时间序列
那随时间变化的结构
和数据集
.
可以使用包含数据的工作空间中的变量,或通过将包含数据的文件的完整路径或文件名指定为字符串标量或字符数组,来指定约束的预期值。
GetAccess |
公共
|
设置访问 |
不可变的
|
matchessignaloptions.
-约束比较配置选项金宝appSimulink.sdi.constraints.MatchesSignalOptions
金宝appSimulink.sdi.constraints.MatchesSignalOptions
对象,该对象指定用于配置约束的比较的选项。默认情况下,比较使用Simulation Data Inspector的默认对齐设置,并具有严格的接受标准,这意味着比较不会忽略任何检查。你可以使用matchessignaloptions.
属性配置约束在预期和实际运行中如何对齐信号,以及使用约束的测试是否对以下情况敏感:
具有来自预期值的不同数据类型的实际值。
预期运行和实际运行之间的一个或多个信号没有对齐。
包含预期值定义的时间间隔之外的数据的实际值。
您可以指定matchessignaloptions.
使用个人的约束的财产名称-值对的观点或者使用名称-值对'withoptions'
用一个金宝appSimulink.sdi.constraints.MatchesSignalOptions
对象作为值。当你指定matchessignaloptions.
使用A的财产matchessignaloptions.
对象,您可以使用单个名称值对来配置使用约束的比较的所有选项。
GetAccess |
公共
|
设置访问 |
不可变的
|
数据类型:金宝appSimulink.sdi.constraints.MatchesSignalOptions
AbsTol
-绝对比较公差使用约束条件进行比较的绝对公差。有关仿真数据检查器如何在比较中使用公差值的详细信息,请参见仿真数据检查器如何比较数据.
例子:0.1
例子:2
GetAccess |
公共
|
设置访问 |
不可变的
|
数据类型:双
RelTol
-相对比较公差使用约束条件进行比较的相对公差。例如,指定0.1
使用10%的公差进行比较。有关模拟数据检查器在比较中如何使用公差值的详细信息,请参见仿真数据检查器如何比较数据.
例子:0.05
GetAccess |
公共
|
设置访问 |
不可变的
|
数据类型:双
TimeTol
-比较的时间容差使用约束进行比较的时间公差,以秒为单位。有关仿真数据检查器如何在比较中使用公差值的详细信息,请参见仿真数据检查器如何比较数据.
例子:0.001
GetAccess |
公共
|
设置访问 |
不可变的
|
数据类型:双
这个例子展示了如何使用金宝appsimulink.sdi.constraints.matchessignal.
约束使用工作区中生成的数据来比较时间序列数据。你可以使用MatchesSignal
约束比较来自多个来源的数据,包括文件中测量的测试数据和记录的模拟输出。
当你使用的时候MatchesSignal
约束,您可以指定要在比较中使用的绝对、相对和时间公差MatchesSignal
约束使用仿真数据检查器比较算法,该算法包括对齐和同步步骤。有关该算法的更多信息,请参阅仿真数据检查器如何比较数据.
这MatchesSignal
约束使用模拟数据检查器进行时间序列比较,并要求其中一个产品:下载188bet金宝搏
金宝appSimulink®
信号处理工具箱™
Matlab Coder™
定点设计师™
创建时间序列数据
此示例生成工作区数据时间序列
格式仅用于说明目的。你可以使用MatchesSignal
约束来比较来自其他来源的数据,例如模拟输出或包含测试数据的文件,并且约束可以比较仿真数据检查器支持的任何格式的时间序列数据。金宝app
在这个例子中,第一个信号是a时间序列
对象,该对象包含具有名称的正弦波的数据波数据
.
time=0:0.1:20;sig1vals=sin(2*pi/5*time);sig1\u ts=timeseries(sig1vals,time);sig1\u ts.Name=“波浪数据”;
第二个信号也是相同频率的正弦波,具有轻微的衰减,并以不同的速率采样。因为比较算法MatchesSignal
约束包括一个同步步骤,用不同的时间向量比较这两个信号并不总是导致测试失败。第二个信号也被命名波数据
因此,对齐算法可以对信号进行比较。
time2 = 0:0.05:20;sig2vals = 0.98 * sin(2 * 5π/ * time2);sig2_ts = timeseries (sig2vals time2);sig2_ts.name =.“波浪数据”;
创建一个测试用例并比较信号
为了便于说明,本例使用了一个交互式测试。你可以使用MatchesSignal
在MATLAB测试框架中对其他类型的单元测试约束。例如,要编写基于类的单元测试,请参阅使用类写简单的测试用例.
创建一个测试用例
用于交互式使用的实例。
进口matlab.unittest.testcase.testCase=testCase.forInteractiveEUSE;
比较信号1
和信号2
使用MatchesSignal
约束。使用信号1
对于预期的值在实例中MatchesSignal
约束。
进口金宝appsimulink.sdi.constraints.matchessignal.测试用例。验证(sig2_ts,匹配信号(sig1_ts));
验证失败。--------------------- 框架的诊断 : --------------------- MatchesSignal(<值>)失败。——>以下一致信号不匹配:名字ActualSignals ExpectedSignals ___________ _______________ _________________ " 波数据”“实际> <。数据" < >。Data"比较结果已保存到:——> /tmp/Bdoc21b_1757077_215148/comparisonResults_5e6094cb-a0a1-48af-b539-cd39d3eee182。mldatx ------------------ Stack Information: ------------------ In /tmp/Bdoc21b_1757077_215148/tpbee1877b/金宝appsimulink-ex22803619/ testtimeseriesdatawithtimeoleranceexample . txt . txt在/mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/evaluateRegions. conf . conf . conf . conf . conf . conf . conf。在/mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/EvaluationOutputsService. p (evaluateRegions) at 0。p (EvaluationOutputsService.evalRegions) at 0In /mathworks/devel/bat/Bdoc21b/build/matlab/toolbox/matlab/codetools/+matlab/+internal/+liveeditor/@LiveEditorUtilities/execute.m (execute) at 43 In /mathworks/devel/bat/Bdoc21b/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRun) at 388 In /mathworks/devel/bat/Bdoc21b/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRunConvert) at 338 In /mathworks/devel/bat/Bdoc21b/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (liveCodeToDocbook) at 164 In /mathworks/devel/bat/Bdoc21b/build/matlab/tools/build_using_matlab/BML.m (BML) at 13
诊断信息显示验证失败。当测试失败时,比较结果和原始运行数据将保存在仿真数据检查器会话文件中。单击MLDATX文件的链接可在仿真数据检查器中打开该会话,从中可以调查测试和比较结果所比较的数据结果。当你检查结果时,你可以看到衰减造成了差异并导致比较失败。
指定的绝对公差为0.02
例如MatchesSignal
要在比较中使用的约束。
测试用例。验证(sig2),匹配信号(sig1,'ABSTOL', 0.02));
验证通过。
MatchesSignal
约束行为本示例演示如何配置a的比较行为金宝appsimulink.sdi.constraints.matchessignal.
使用金宝appSimulink.sdi.constraints.MatchesSignalOptions
目的。你可以使用一个matchessignaloptions.
对象配置多个比较属性,其中单个名称值对在构造中输入MatchesSignal
实例。
创建时间序列数据
此示例仅创建工作区数据以仅用于说明目的。你可以使用MatchesSignal
约束来比较来自其他来源的数据,例如模拟输出或包含测试数据的文件,并且约束可以比较仿真数据检查器支持的任何格式的时间序列数据。金宝app
在这个例子中,第一个信号是a时间序列
对象名称波数据
包含正弦波的数据。
time=0:0.1:20;sig1vals=sin(2*pi/5*time);sig1\u ts=timeseries(sig1vals,time);sig1\u ts.Name=“波浪数据”;
第二个信号也是相同频率的正弦波,具有轻微的衰减,并以不同的速率采样。因为比较算法MatchesSignal
约束包括一个同步步骤,用不同的时间向量比较这两个信号不一定会导致测试失败。第二个信号被转换为仅有一个的
数据类型和名称波数据
因此,对齐算法可以对信号进行比较。
time2 = 0:0.1:22;sig2vals =单身(0.98 * sin(2 * pi / 5 * time2));sig2_ts = timeseries (sig2vals time2);sig2_ts.name =.“波浪数据”;
配置A.MatchesSignal
实例并比较数据
你可以使用一个matchessignaloptions.
对象的实例如何指定MatchesSignal
约束处理不匹配的数据类型以及信号如何在实际数据集和预期数据集之间对齐等条件。您可以指定matchessignaloptions.
对象以适合要编写的测试。例如,如果希望测试比较不同类型的数据,并且数据类型匹配在功能上不相关,则可以设置IgnoreDataTypes
财产符合事实的
.
创建一个matchessignaloptions.
对象创建MatchesSignal
实例,该实例忽略实际和预期信号共享的时间间隔之外的数据类型不匹配和数据样本。
进口金宝appSimulink.sdi.constraints.MatchesSignalOptions选择= MatchesSignalOptions ('忽略数据类型'符合事实的“IgnoringExtraData”,对);
创建一个测试用例
用于交互式使用和比较的实例信号1
和信号2
使用MatchesSignal
约束,matchessignaloptions.
对象的绝对公差0.02
.
进口matlab.unittest.testcase.testCase=testCase.forInteractiveEUSE;导入金宝appsimulink.sdi.constraints.matchessignal.测试用例。验证(sig2),匹配信号(sig1,'ABSTOL', 0.02,'withoptions',选择))
验证通过。
测试通过。属性定义的选项再次运行相同的测试时matchessignaloptions.
对象,由于数据类型不匹配,测试失败。
测试用例。验证(sig2),匹配信号(sig1,'ABSTOL',0.02)))
验证失败。--------------------- 框架的诊断 : --------------------- MatchesSignal(< >价值,AbsTol, 0.02)失败。- - - >数据类型不匹配的对齐后的信号:名字ActualSignals ActualDataType ExpectedSignals ExpectedDataType ___________ _______________ ______________ _________________ ________________ " 波数据”“实际> <。数据”{'单'}" > <预期。“{双数据 '} ------------------ 堆栈信息 : ------------------ 在C:\Users\snadeau\AppData\Local\Temp\ Editor_oxzoe \ LiveEditorEvaluationHelperE1184446395。在E: jobarchive\Bdoc20b\2020_06_06_h12m11s21_job1400967_pass\matlab\工具箱\matlab\codetools\embeddedoutputs\+matlab\+internal\+editor\ evaluatereregions。在E:\jobarchive\Bdoc20b\2020_06_06_h12m11s21_job1400967_pass\matlab\工具箱\matlab\codetools\embeddedoutputs\+matlab\+internal\+editor\EvaluationOutputsService。p (EvaluationOutputsService.evalRegions) at 0
R2020a中的行为发生了变化
从R2020a开始,当使用金宝appsimulink.sdi.constraints.matchessignal.
约束失败,诊断信息提供路径并链接到模拟数据检测器会话文件,该文件包括由测试比较的比较结果和原始数据。打开会话文件以检查模拟数据检查器中的数据和比较结果。
在以前的版本中,诊断信息包括指向比较结果静态图像的路径和链接。诊断信息不再包括图像。
金宝appSimulink.sdi.constraints.MatchesSignalOptions
|matlab.unittest.testcase.
|matlab.unittest.Constraints.Constraint.
|matlab.unittest.Constraints包
|verifyThat
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。