将记录的数据转换为数据集格式
将工作区数据转换为数据集
此示例显示了如何转换Matlab®时间序列数据数据集
格式。myvdp_timeseries
是个VDP
带有两个模型到工作区配置的块模拟和simout1以MATLAB时间的格式记录数据。如果您有使用的模型,请考虑使用这样的程序到工作区块到将数据记录到MATLAB时段格式。
使用金宝appsimulink.simulationdata.dataset
将MATLAB次数数据转换为构造函数数据集
格式化,然后加入两个数据集。
从
VDP
型号,添加两个到工作区如图所示。设置保存格式两个块的参数。放
时间序列
。将模型保存为
myvdp_timeseries
。模拟模型。
模拟日志数据使用到工作区块。
访问信号记录格式,
登录
。登录
logSout = 金宝appsimulink.simulationdata.dataset软件包:simulink.simulationdata特征:名称:'logSout'总元素:2元素:1:'x1'2:'x2' - 用index或name使用访问或获取访问元素。- 使用addElement或setElement添加或修改元素。方法,超类
将MATLAB时间序列数据从两者转换到工作区块到
数据集
。ds = 金宝appsimulink.simulationdata.dataset(simout);ds1 = 金宝appsimulink.simulationdata.dataset(simout1);
DS是第一个的变量名称到工作区块数据。DS1是第二个名称到工作区块数据。
将两个数据集加入到dsfin。观察格式dsfin与之匹配
登录
。dsfinal = ds.concat(DS1)
dsfinal = 金宝appsimulink.simulationdata.dataset软件包:simulink.simulationdata特征:名称:'simout'总元素:2个元素:1:'x1'2:'x2' - 用index或name使用访问或获取访问元素。- 使用addElement或setElement添加或修改元素。方法,超类
将结构转换为没有时间到数据集
此示例显示了如何在没有时间数据的情况下将结构转换为数据集
格式。myvdp_structure
是个VDP
带有两个模型到工作区如图所示,为SIMOUT和SIMOUT1配置的块以结构格式记录数据。
如果您有使用的模型到工作区块以记录数据以结构格式,请考虑使用这样的过程将其转换为数据集
格式。
从
VDP
型号,添加两个到工作区如图所示。在里面保存格式两个块的参数,选择
结构
。启用信号记录的两个信号到两个信号到工作区登录的块
DS
格式。将模型保存为
myvdp_structure
。模拟模型。
模拟日志数据使用到工作区块。
将两者转换为结构数据到工作区块到
数据集
。ds = 金宝appsimulink.simulationdata.dataset(simout);ds1 = 金宝appsimulink.simulationdata.dataset(simout1);
模拟是第一个的变量名称到工作区块数据。simout1是第二个名称到工作区块数据。
在没有时间或数组的结构转换的情况下,时间始于t = 0,增量为1。
获取第一个元素的值DS。
ds.get(1).values.Time
ANS = 0 1 2 3。。。61 62 63
从信号记录中获取第一个元素的时间值。
logsout.get(1).values.Time
ANS = 0 0.0001 0.0006 0.0031。。。19.2802 19.6802 20.0000
观察时间戳之间的差异
在没有时间转换为的时间内记录的数据
数据集
格式登录数据
数据集
格式
编程访问记录的数据集格式数据
当您使用默认值时数据集
信号记录格式,Simulink金宝app®将记录数据保存在金宝appsimulink.simulationdata.dataset
目的。有关从该对象提取信号数据的信息,请参阅
参考页。金宝appsimulink.simulationdata.dataset
这金宝appsimulink.simulationdata.dataset
对象包含一个
每个记录信号的对象。金宝appsimulink.simulationdata.signal
对于巴士信号,金宝appsimulink.simulationdata.signal
对象包含MATLAB的结构
对象。时间序列
这金宝appsimulink.simulationdata.dataset
类提供两种用于访问信号记录数据及其相关信息的方法。
例如访问使用信号记录数据的数据集
格式,请参阅
。金宝appsimulink.simulationdata.dataset
访问一系列巴士信号记录数据
一系列公共汽车使用的信号记录数据数据集
信号记录格式。
在一系列总线中访问特定信号的数据的一般方法是:
用一个
金宝appsimulink.simulationdata.dataset.get
(或者getelement
)在已记录数据中访问特定信号的方法(默认情况下,登录
多变的)。要获取值,请在总线数组中索引。
再次索引以获取特定总线的数据。
例如,获取在该中的常数6块的信号记录数据EX_LOG_NESTED_AOB
模型,用于topbus
供电终结器块的信号:
logSout.getElement('topbus')。values.a(2,2).firstconst.data
以下是访问总线数组信号记录数据的其他示例。有关显示如何记录总线数据数组的另一个示例,请参阅sldemo_mdlref_bus
。
访问具有重复名称的信号的数据
对于具有具有相同信号名称的多个信号的模型,信号记录数据包括一个金宝appsimulink.simulationdata.signal
每个具有重复名称的信号的对象。
要访问具有重复名称的特定信号,请使用一这些方法:
要查找特定信号的数据,请视觉检查显示的显示的输出
金宝appsimulink.simulationdata.signal
对象。使用
金宝appsimulink.simulationdata.dataset.getElement
方法,指定信号源块的块路径。要用重复的信号名称通过信号迭代,请使用
金宝appsimulink.simulationdata.dataset.getElement
具有索引参数的方法。使用“信号属性”对话框指定其他名称。当具有重复名称的信号在正常模式下的多个实例中不会出现时,请考虑使用此方法。
在模型中,右键单击信号。
在上下文菜单中,选择特性。
在“信号属性”对话框中,设置记录名称至
风俗
并指定与信号名称不同的名称。模拟模型并使用
金宝appsimulink.simulationdata.dataset.getElement
具有名称参数的方法。
小费
另外,您可以使用信号记录选择器访问特定信号。有关详细信息,请参阅带信号记录选择器的覆盖信号记录设置。
在信号记录数据中处理newline字符
在信号记录数据中以记录名称的记录名称中的newline字符使用数据集
格式,使用Sprintf
命令agetelement
称呼。例如:
topout.getElement(sprintf(sprintf)(“增量\ nbus”))
也可以看看
金宝appsimulink.simulationdata.dataset