接入信号数据和元数据
一种金宝appSimulink.sdi.Signal
对象中包含信号的数据和元数据仿真数据检查.你可以使用信号
对象属性来检查信号元数据,在时间图上可视化信号,并使用该信号进行比较信号金宝appSimulink.sdi.compareSignals
函数。
一种金宝appSimulink.sdi.Signal
对于您登录模型模拟或导入模拟数据检查器的每个信号创建对象。你可以访问信号
模拟数据检查器中的对象多种方式。一般来说,访问a信号
对象,你首先需要得到金宝appSimulink.sdi.Run
对象,该对象包含信号。
这金宝appsimulink.sdi.getSignal.
函数返回A.信号
对象,该对象与您提供的信号ID相对应。
这getSignal
函数返回信号
对象指定的指定信号ID运行
对象。
这getsignalbyIndex.
函数返回信号
对象中指定索引处的运行
对象。
ID
-信号标识符此属性是只读的。
识别信号的唯一编号,返回为整数。仿真数据检查器为每个运行和信号分配唯一数字ID。
run
-运行标识符此属性是只读的。
运行包含信号的运行的标识符,作为整数返回。仿真数据检查器为每个运行和信号分配唯一数字ID。
的名字
-信号名称信号的名称,指定为字符向量或字符串。当。。。的时候信号
对象包含从模拟中记录的数据,其名称与模型中为信号指定的名称匹配。如果模型没有指定名称,则信号名称是生成信号的块的块路径。
例子:'燃料'
域
-信号类型'信号'
|“输出港”
|“州”
|'数据存储内存'
|'参数'
|……信号类型,指定为以下选项之一:
'信号'
—信号测井数据。
“输出港”
—输出日志数据。
“州”
—状态记录数据。
'数据存储内存'
- 数据存储记忆日志数据。
“Parametrs”
—已记录参数数据。
“Stateflow”
- eventsflow.®数据。
“Simscape”
- Simscape™数据。
'评估'
-金宝app®测试™评估数据。
'剖析'
- 执行分析数据。
这域
由于日志记录模拟数据未创建的数据,属性为空。
描述
-信号描述''
(默认)|特征向量|字符串信号的描述,指定为字符向量或字符串。你可以使用描述
属性注释信号或识别超出的信号内容的名字
.将Simscape数据记录到模拟数据检查器时,描述
属性将自动为每个节点填充。
存储单元
-存储在磁盘上的信号数据单位此属性是只读的。
存储在磁盘上的信号数据单元,指定为字符向量或字符串。对于从模拟模型生成的信号,所存储的单元信号
对象使用模型中指定的单位。为不带单位的信号指定显示单位时,将使用相同的单位设置存储的单位。要分析使用不同单位的信号,请修改信号的显示单位。模拟数据检查器使用显示单元执行转换以绘制数据。
您可以转换存储单元的信号使用换股公司
函数。存储的单元转换不支持撤消,可能导致精度损耗。金宝app
例子:'g / s'
显示单位
-用于在仿真数据检查器中显示信号数据的单位用于在仿真数据检查器中显示信号数据的单元,指定为字符向量或字符串。信号的显示单元可能不同于反映存储在磁盘上的数据的存储单元。在仿真数据检查器中修改信号显示单元以分析数据。模拟数据检查器中的单元首选项可能会改变记录和导入信号数据的显示单元。有关更多信息,请参见信号显示设备.
例子:“米/秒”
数据类型
-信号数据的数据类型此属性是只读的。
信号数据的数据类型,作为字符向量或字符串返回。
例子:“双”
复杂
-信号数据的复杂性“真实的”
|“复杂”
此属性是只读的。
信号数据的复杂性,返回为“真实的”
或“复杂”
.
例子:“真实的”
采样时间
-信号采样时间此属性是只读的。
信号采样时间,作为字符向量或标量返回。价值'连续'
表示可变步长仿真。
例子:'连续'
例子:“0.1”
模型
-产生信号的模型名称此属性是只读的。
产生信号的模型的名称,作为字符向量返回。这模型
财产是空的信号
包含通过模拟模型而不是产生的数据的对象。
例子:“sldemo_fuelsys”
BlockPath
-产生信号的块的块路径此属性是只读的。
产生信号的块的块路径,以字符数组的形式返回。这BlockPath
属性是不包含模型层次结构的相对路径。这BlockPath
财产是空的信号
包含通过模拟模型而不是产生的数据的对象。
例子:'sldemo_fuelsys /发动机气体动力学'
FullBlockPath
-产生信号的块的完整块路径此属性是只读的。
为制作信号的块的完整块路径,包括完整模型层次结构,作为字符向量返回。对于引用模型中的信号,FullBlockPath
是包含完整路径的单元格数组。对于其他信号,FullBlockPath
与之相同BlockPath
.这FullBlockPath
财产是空的信号
包含通过模拟模型而不是产生的数据的对象。
区块名
-产生信号的块的名称此属性是只读的。
产生信号的块的名称,作为字符向量返回。这区块名
财产是空的信号
包含通过模拟模型而不是产生的数据的对象。
例子:'发动机气体动力学'
portindex.
-阻塞端口索引此属性是只读的。
在产生该信号的块上,连接到该信号的输出端口的索引。这portindex.
财产是空的信号
包含通过模拟模型而不是产生的数据的对象。
例子:1
方面
-信号尺寸此属性是只读的。
信号维数,作为整数或整数数组返回。
例子:(1 2)
渠道
-矩阵内的信号索引此属性是只读的。
矩阵内的信号索引,作为整数阵列返回。
数字
-信号中的样本数此属性是只读的。
信号中的样本数量,作为整数返回。
价值
-信号值timeseries
|结构信号的时间和数据值,作为timeseries
对象的非总线信号或与总线信号的总线层次结构相匹配的结构。
Rootsource.
-包含导入信号的高级结构此属性是只读的。
包含信号的高级结构的名称,作为字符向量返回。这Rootsource.
属性仅具有导入信号的值。
例子:当您导入金宝app仿真软件。SimulationOutput
目的sim
包含结构Xout.
, 这Rootsource.
是“simOut.get (xout)”
倍源
-导入信号时间数据的来源此属性是只读的。
信号时间数据的路径,返回为字符向量。这倍源
属性仅具有导入信号的值。
例子:当您导入金宝app仿真软件。SimulationOutput
目的sim
包含结构Xout.
, 这倍源
是'simout.get('xout')。时间'
数据源
-输入信号数据来源此属性是只读的。
信号样本值的路径,作为字符数组返回。这数据源
属性仅具有导入信号的值。
例子:当您导入金宝app仿真软件。SimulationOutput
目的sim
包含结构Xout.
, 这数据源
是“simOut.get (xout) .signals (1) . values”
孩子们
-复合信号所含的信号金宝appSimulink.sdi.Signal
向量此属性是只读的。
由复合信号包含的信号,返回为金宝appSimulink.sdi.Signal
对象。这孩子们
标量信号为空。
ComplexFormat
-复杂信号的显示格式“实想”
|“级”
|“幅度相”
|“阶段”
用于在模拟数据检查器中显示复杂信号数据的复杂格式,指定为以下值之一。你可以修改ComplexFormat
A.的财产信号
对象更改模拟数据检测器如何在对象包含复杂信号的数据时显示信号数据。
“实想”
-当绘制信号时,信号的实分量和虚分量一起显示。信号的虚分量用不同的阴影绘制出来线颜色.
“级”
- 当您绘制信号时,信号的幅度显示。
“幅度相”
-当你绘制信号时,信号的幅度和相位显示在一起。
“阶段”
—在绘制信号时显示信号的相位。相位是用不同的阴影绘制的线颜色.
数据类型:char
|字符串
检查一下
-是否绘制信号0.
或错误的
(默认)|1
或真正的
信号是否被绘制为逻辑值。环境检查一下
来错误的
清除所有子图中的信号。环境检查一下
来真正的
在激活的子地块上绘制信号。
数据类型:逻辑
LineColor
-信号线颜色1
-经过-3.
向量绘图中的信号颜色,指定为a1
-经过-3.
RGB矢量与之间的值0.
和1
.
例子:[0 0.5 - 0.5)
数据类型:双倍的
LineDashed
-信号线样式' - '
|' - '
|“:”
|' - 。'
在模拟数据检查器中绘制信号时使用的信号线样式,指定为以下选项之一:
' - '
- 坚硬的
' - '
- 虚线
“:”
——点缀
' - 。'
- 虚线点缀
线宽
-信号线宽1
(默认)|整数1
和20.
在模拟数据检查器中绘制信号时使用的信号线宽度,指定为之间的整数1
和20.
、包容。
InterpMethod
-插值方法“线性”
(默认)|'ZOH'
|'没有任何'
ab
-绝对的宽容0.
(默认)|标量在信号比较中使用的绝对容差,指定为正值标量。
仿真数据检查器使用基线信号的信号特性中指定的公差OverrideGlobalTol
属性设置为1
或真正的
.有关模拟数据检查器中的公差的更多信息,请参见仿真数据检查器如何比较数据.
例子:0.1
数据类型:双倍的
RELTOL.
-相对宽容0.
(默认)|标量在信号比较中使用的相对容差指定为正值标量。相对容差表示为分数乘法器。例如,0.1
指定10%的容差。
仿真数据检查器使用基线信号的信号特性中指定的公差OverrideGlobalTol
属性设置为1
或真正的
.有关模拟数据检查器中的公差的更多信息,请参见仿真数据检查器如何比较数据.
例子:0.05
数据类型:双倍的
Timetol.
-时间的宽容0.
(默认)|标量信号比较中使用的信号的时间容差指定为正值标量。以秒为单位指定时间容差。
仿真数据检查器使用基线信号的信号特性中指定的公差OverrideGlobalTol
属性设置为1
或真正的
.有关模拟数据检查器中的公差的更多信息,请参见仿真数据检查器如何比较数据.
例子:0.1
数据类型:双倍的
OverrideGlobalTol
-是否比较使用信号容差0.
或错误的
(默认)|1
或真正的
比较是否使用信号容差值而不是全局公差值,指定为逻辑值。设定OverrideGlobalTol
财产1
或真正的
使用中定义的公差值信号
对象属性。设置属性0.
或错误的
使用全局公差值。
有关模拟数据检查器中的公差的更多信息,请参见仿真数据检查器如何比较数据.
数据类型:逻辑
SyncMethod
-同步方法“联盟”
(默认)|'路口'
方法,用于在比较中同步信号,指定为“联盟”
或'路口'
.有关同步选项的详细信息,请参见仿真数据检查器如何比较数据.
换股公司 |
转换单位金宝appSimulink.sdi.Signal 目的 |
出口 |
出口金宝appSimulink.sdi.Signal 对象到工作区或文件 |
Getastall. |
从中创建高度的时间表金宝appSimulink.sdi.Signal 目的 |
Plotonsubplot. |
情节金宝appSimulink.sdi.Signal 对象在模拟数据检查器子图上 |
您可以通过编程方式指定要在使用仿真数据检查器执行的比较中使用的信号公差值。在本例中,您将比较通过模拟飞机纵向飞行控制系统模型收集的数据。每个模拟使用不同的值作为输入滤波器时间常数,并记录输入和输出信号。通过使用仿真数据检查器和信号公差比较结果,分析时间常数变化的影响。
首先,加载包含模拟数据的会话文件。
金宝appsimulink.sdi.load(“AircraftExample.mldatx”);
会话文件包含四次运行。在本例中,您将比较文件中前两次运行的数据。访问金宝appSimulink.sdi.Run
从文件加载的前两次运行的对象。
runIDs = 金宝appSimulink.sdi.getAllRunIDs;runIDTs1 = runIDs (end-3);runIDTs2 = runIDs (end-2);
现在,在没有指定任何公差的情况下比较这两个运行。
noTolDiffResult = 金宝appSimulink.sdi.compareRuns (runIDTs1 runIDTs2);
使用getResultByIndex
用于访问比较结果的功能问:
和α
信号。
qresult = getResultByIndex(notoldiffresult,1);alpharesult = getResultByIndex(notoldiffresult,2);
检查地位
每个信号结果看,看看比较结果是否落在我们超出公差范围内。
qresult.status.
ANS = COMPACTISONIGNALSTATUS枚举超大
alphaResult。地位
ANS = COMPACTISONIGNALSTATUS枚举超大
比较使用的值为0.
13、对于一切宽容,故有其道OutOfTolerance
Result表示信号不相同。
通过指定信号的公差值,可以进一步分析时间常数的影响。的属性指定公差金宝appSimulink.sdi.Signal
对应于待比较信号的对象。比较使用为基线信号指定的公差。此示例指定了时间容错和绝对容差。
要指定公差,请首先访问信号
来自基线运行的对象。
runTs1 = 金宝appSimulink.sdi.getRun (runIDTs1);qSig = getSignalsByName (runTs1,'q,rad / sec');alphasig = getsignalsbyname(runts1,'alpha,rad');
指定的绝对容忍值0.1
和宽度的宽度0.6
为了问:
信号使用ab
和Timetol.
属性。
qSig。一种bsTol = 0.1; qSig.TimeTol = 0.6;
指定的绝对容忍值0.2
和宽度的宽度0.8
为了α
信号。
AlphaSig.abstol = 0.2;AlphaSig.timetol = 0.8;
再次比较结果。从比较中访问结果并检查地位
属性。
jortiffresult = 金宝appsimulink.sdi.compareruns(runidts1,runidts2);qresult2 = getResultByIndex(Telliffresult,1);alpharesult2 = getResultByIndex(Telliffresult,2);qresult2.status.
ANS = COMPACTISONSIGNALSTATUS枚举与CILTOLERANCE
alphaResult2。地位
ANS = COMPACTISONSIGNALSTATUS枚举与CILTOLERANCE
这个例子展示了如何获取金宝appSimulink.sdi.Signal
对象并使用模拟数据检查器编程接口修改其属性。
在模拟数据检查器中创建数据
当您模拟日志数据的模型时,在模拟数据检查器中创建了运行以包含记录数据。您还可以通过导入数据在模拟数据检查器中创建运行。这个例子模拟了slexaircraftexample.
模型并记录数据数据集
格式。
simOut = sim卡('slexaircraftexample'那'saplformat'那“数据集”);
得到一个金宝appSimulink.sdi.Signal
目的
程序化模拟返回工作区变量中的记录数据sim
.您可以访问该变量中的记录数据。但是,要使用Simulation Data Inspector编程接口,您需要访问登录的数据金宝appSimulink.sdi.Run
和金宝appSimulink.sdi.Signal
对象。
首先,使用金宝appSimulink.sdi.getCurrentSimulationRun
得到运行
模拟时创建的对象slexaircraftexample.
模型。
aircraftRun = 金宝appSimulink.sdi.getCurrentSimulationRun ('slexaircraftexample');
你可以使用getallsignals.
函数访问信号
对象的所有信号。从返回的数组信号
对象,选择第一个信号。
信号= getAllSignals (aircraftRun);sig =信号(1);
修改信号属性
这金宝appSimulink.sdi.Signal
对象具有指定用于比较和可视化信号的选项的属性。指定信号的线条样式和颜色。然后,使用金宝appsimulink.sdi.setsubplotlayout.
配置模拟数据检查器以显示单个子图,并使用Plotonsubplot.
函数绘制信号。
sign . lineccolor = [1 0.4 0.6];sig.LineDashed =' - '; 金宝appSimulink.sdi.SetSubplot布局(1,1)图Subplot(sig,1,1,true)
使用金宝appsimulink.sdi.view.
功能要打开仿真数据检查器并查看绘图信号。
您可以使用Simulation Data Inspector编程接口在一次运行中比较信号。这个例子比较了飞机纵向控制器的输入和输出信号。
首先,加载包含数据的会话。
金宝appsimulink.sdi.load(“AircraftExample.mldatx”);
使用金宝appSimulink.sdi.Run.getLatest
访问数据中最新运行的功能。
aircraftRun = 金宝appSimulink.sdi.Run.getLatest;
然后,你可以使用金宝appsimulink.sdi.getSignalSyName.
函数访问戳
信号,表示控制器的输入,以及阿尔法,拉迪
表示输出的信号。
坚持= getSignalsByName (aircraftRun,'戳');α= getSignalsByName (aircraftRun'alpha,rad');
在比较信号之前,可以指定一个用于比较的公差值。比较使用比较中为基线信号指定的公差值,因此设置绝对公差值为0.1
在戳
信号。
kick.abstol = 0.1;
现在,用金宝appSimulink.sdi.compareSignals
函数。这戳
信号是基线,而且阿尔法,拉迪
信号是与基线相比较的信号。
comparisonResults = 金宝appSimulink.sdi.compareSignals (stick.ID alpha.ID);= comparisonResults相匹配。地位
匹配= COMPACTISONSIGNALSTATUS枚举OUTOFTOLANCE
比较结果超出了容许范围。你可以使用金宝appsimulink.sdi.view.
函数打开仿真数据检查器以查看和分析比较结果。
这个例子演示了如何访问金宝appSimulink.sdi.Run
用于通过记录信号创建的模拟数据检查器的对象。来自金宝appSimulink.sdi.Run
你可以得到的对象金宝appSimulink.sdi.Signal
对象,该对象包含已记录的信号数据和元数据。你可以使用信号
对象和Plotonsubplot.
函数在仿真数据检查器中绘制数据。
创建模拟运行并访问运行
目的
这ex_vdp
模型记录两个信号。要创建包含记录数据的模拟运行,请模拟模型。
sim卡(“ex_vdp”);
模拟数据检查器通过为模拟、导入数据或打开会话创建的每个运行分配唯一的数值运行ID来跟踪运行。要访问刚才执行的模拟的run对象,请使用金宝appsimulink.sdi.getallrunids.
函数并拍摄返回的向量中的最后一个运行ID。
runIDs = 金宝appSimulink.sdi.getAllRunIDs;runid = unrids(结束);
有一次运行运行ID后,可以使用金宝appsimulink.sdi.getrun.
函数来获取金宝appSimulink.sdi.Run
对应于运行的对象。你可以使用运行
对象检查与运行关联的元数据,包括运行中信号的数量。
vdprun = 金宝appsimulink.sdi.getrun(runid);vdprun.signalcount.
ans =.INT32.2
图数据使用信号
对象
使用getsignalbyIndex.
用于访问信号的信号运行
对象,fuelRun
.
signal1 = getsignalbyIndex(vdprun,1);signal2 = getsignalbyIndex(vdprun,2);
使用金宝appsimulink.sdi.setsubplotlayout.
功能指定3×1布局。
金宝appSimulink.sdi.setSubPlotLayout (2, 1)
在绘制数据之前,使用金宝appSimulink.sdi.clearAllSubPlots
功能清除已绘制的任何数据。
金宝appSimulink.sdi.clearAllSubPlots
在每个副图上标出一个信号。要在第一个子图上绘制信号,您可以设置检查一下
属性为信号。要在第一个子图以外的子图上绘制信号,请使用Plotonsubplot.
函数。
signal1。检查一下= true; plotOnSubPlot(signal2,2,1,true);
查看绘制的数据
要查看刚刚创建的绘图,请使用仿真数据检查器使用金宝appsimulink.sdi.view.
函数。
金宝appsimulink.sdi.getSignal.
|金宝appSimulink.sdi.createRun
|getsignalbyIndex.
|getsignalidbyIndex.
|getSignal
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。