文档

万博1manbetxSimulink.sdi.getAllRunIDs

获取所有仿真数据检查器运行标识符

语法

runIDs = 万博1manbetxSimulink.sdi.getAllRunIDs

描述

例子

runIDs= 万博1manbetxSimulink.sdi.getAllRunIDs返回模拟数据检查器存储库中所有运行的运行标识符的矩阵。

例子

全部折叠

许多使用Simulation Data Inspector编程接口的工作流都是从获取模拟运行的ID开始的。这个示例展示了使用编程接口获取运行ID的两种不同方法。可以使用运行ID创建万博1manbetxSimulink.sdi.Run对象来访问运行数据和元数据,或者可以使用运行ID进行比较。

模拟一个模型来创建一个运行

该模型sldemo_fuelsys已为日志记录配置。当您模拟模型时,Simulation Data Inspector会自动创建一个运行并分配一个运行ID。

%加载和模拟系统load_system (“sldemo_fuelsys”) sim卡(“sldemo_fuelsys”

                   

获取运行ID万博1manbetxSimulink.sdi.getAllRunIDs

万博1manbetxSimulink.sdi.getAllRunIDs返回模拟数据检查器存储库中运行的所有运行id的数组,最近创建的运行在末尾。

获取最近一次运行的runIDrunIDs = 万博1manbetxSimulink.sdi.getAllRunIDs;runID = runIDs(结束);

获取运行ID万博1manbetxSimulink.sdi.getRunIDByIndex

你也可以用万博1manbetxSimulink.sdi.getRunCount万博1manbetxSimulink.sdi.getRunIDByIndex获取一次运行的运行ID。如果您也想使用,这个方法是有用的作为在Simulation Data Inspector存储库中运行时索引的计数变量。

数= Simul万博1manbetxink.sdi.getRunCount;runID = 万博1manbetxSimulink.sdi.getRunIDByIndex(数);

您可以在一个信号一个信号的基础上更改公差值,以评估模型参数更改的效果。本示例使用slexAircraftExample模型和仿真数据检查器来评估随着控制输入改变低通滤波器的时间常数的影响。

设置

加载模型,并标记q, rad /秒α,rad用于日志记录的信号。然后,模拟模型以创建基线运行。

负载实例模型load_system (“slexAircraftExample”%标记q, rad/sec和alpha, rad信号用于记录万博1manbetxSimulink.sdi.markSignalForStreaming (“slexAircraftExample /飞机动力学模型”3,“上”) 万博1manbetxSimulink.sdi.markSignalForStreaming (“slexAircraftExample /飞机动力学模型”4“上”%模拟系统sim卡(“slexAircraftExample”

修改模型参数

修改模型参数Ts在模型工作空间中改变输入低通滤波器的时间常数。

改变输入滤波器时间常数modelWorkspace = get_param (“slexAircraftExample”“modelworkspace”);modelWorkspace.assignin (“t”, 1)%再次模拟sim卡(“slexAircraftExample”

比较运行和检查结果

使用万博1manbetxSimulink.sdi.compareRuns函数比较来自模拟的数据。然后,检查匹配属性,以查看信号是否落在默认公差0内。

获取运行数据runIDs = 万博1manbetxSimulink.sdi.getAllRunIDs;runID1 = runid (end - 1); / /结束runID2 = runIDs(结束);运行%比较diffRun1 = 万博1manbetxSimulink.sdi.compareRuns (runID1 runID2);获得信号结果sig1Result1 = diffRun1.getResultByIndex (1);sig2Result1 = diffRun1.getResultByIndex (2);%检查信号是否匹配sig1Result1。匹配
ans =逻辑0
sig2Result1。匹配
ans =逻辑0

比较运行和信号公差

信号在默认容忍0内不匹配。为了进一步分析时间常数变化的影响,将信号公差添加到与基线信号特性的比较中,以确定通过所需的公差。这个例子使用了时间公差和绝对公差的组合。

%获取sigID1的信号对象run1 = 万博1manbetxSimulink.sdi.getRun (runID1);sigID1 = run1.getSignalIDByIndex (1);sigID2 = run1.getSignalIDByIndex (2);sig1 = 万博1manbetxSimulink.sdi.getSignal (sigID1);sig2 = 万博1manbetxSimulink.sdi.getSignal (sigID2);%设置公差q, rad/秒sig1。AbsTol = 0.1;sig1。TimeTol = 0.6;设定公差为α, radsig2。AbsTol = 0.2;sig2。TimeTol = 0.8;%再次运行比较diffRun2 = 万博1manbetxSimulink.sdi.compareRuns (runID1 runID2);sig1Result2 = diffRun2.getResultByIndex (1);sig2Result2 = diffRun2.getResultByIndex (2);%检查结果sig1Result2。匹配
ans =逻辑1
sig2Result2。匹配
ans =逻辑1

输出参数

全部折叠

模拟数据检查器存储库中的运行id矩阵。

介绍了R2017a

这个话题有用吗?