这个例子展示了如何转换MATLAB®时间序列数据到数据集
格式。myvdp_时间序列
是vdp
模型有两个到工作空间为配置的块simout和西蒙1以MATLAB timeseries格式记录数据。如果使用模型,请考虑使用这样的过程。到工作空间将数据记录为MATLAB timeseries格式的块。
使用金宝appSimulink.SimulationData.Dataset
构造函数将MATLAB timeseries数据转换为数据集
格式化并连接两个数据集。
从vdp
模型,添加两个到工作空间块到模型,如图所示。
设置保存格式两个块的参数。集Timeseries
.
将模型另存为myvdp_时间序列
.
模拟模型。
模拟日志数据使用到工作空间阻碍。
访问信号记录格式,罗格苏特
.
罗格苏特
Simulink. 金宝appsimulationdata . dataset Package: Simulink. log out = Simulink. Simulink。模拟Data Characteristics: Name: 'logsout' Total Elements: 2 Elements: 1: 'x1' 2: 'x2' -Use get or getElement to access elements by index or name. -Use addElement or setElement to add or modify elements. Methods, Superclasses
转换MATLAB时间序列数据从两者到工作空间阻止数据集
.
ds = 金宝appSimulink.SimulationData.Dataset (simout);ds1 = 金宝appSimulink.SimulationData.Dataset (simout1);
ds是第一个变量的变量名到工作空间块数据。ds1是第二个变量的名称吗到工作空间块数据。
将两个数据集连接到dsfinal. 请注意dsfinal与罗格苏特
.
dsfinal = ds.concat (ds1)
dsfinal=Si金宝appmulink.SimulationData.Dataset包:Simulink.SimulationData特性:名称:“simout”元素总数:2个元素:1:“x1”2:“x2”-使用get或getElement按索引或名称访问元素-使用addElement或setElement添加或修改元素。方法,超类
此示例演示如何将没有时间数据的结构转换为数据集
格式。myvdp_结构
是vdp
模型有两个到工作空间以结构格式配置用于simout和simout1测井数据的块,如图所示。
如果你有模型使用到工作空间将数据记录到结构格式的块,考虑使用像这样的过程将它们转换为数据集
格式。
从vdp
模型,添加两个到工作空间块到模型,如图所示。
在保存格式参数,选择结构
.
为发送至两个传感器的两个信号启用信号记录到工作空间要登录的块Ds
格式。
将模型另存为myvdp_结构
.
模拟模型。
模拟日志数据使用到工作空间阻碍。
将结构数据从两者转换到工作空间阻止数据集
.
ds = 金宝appSimulink.SimulationData.Dataset (simout);ds1 = 金宝appSimulink.SimulationData.Dataset (simout1);
simout是第一个变量的变量名到工作空间块数据。西蒙1是第二个变量的名称吗到工作空间块数据。
在没有时间或数组的结构转换中,时间从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
观察时间戳上的差异
在没有转换时间的结构中记录的数据数据集
格式
登录的数据数据集
格式
当您使用默认值时数据集
信号记录格式金宝app®将日志数据保存在金宝appSimulink.SimulationData.Dataset
对象。有关从该对象提取信号数据的信息,请参见
参考页。金宝appSimulink.SimulationData.Dataset
的金宝appSimulink.SimulationData.Dataset
对象包含
对象,用于每个记录的信号。金宝appSimulink.SimulationData.Signal
对于总线信号金宝appSimulink.SimulationData.Signal
对象包含MATLAB的一个结构
对象。timeseries
的金宝appSimulink.SimulationData.Dataset
类提供了访问信号记录数据及其相关信息的两个方法。
的名字 |
描述 |
---|---|
你也可以用the |
根据索引、名称或块路径从数据集获取元素或元素集合。 |
获取数据集中元素的数量。 |
例如,访问信号测井数据使用数据集
格式,请参阅
.金宝appSimulink.SimulationData.Dataset
总线阵列使用的信号记录数据数据集
信号记录格式。
访问总线阵列中特定信号的数据的一般方法是:
使用一个金宝appSimulink.SimulationData.Dataset.get
(或getElement
方法访问记录数据中的特定信号(默认情况下罗格苏特
变量)。
要获取值,请在总线数组中建立索引。
再次索引以获取特定总线的数据。
例如,为了获得ex_log_nested_aob
模型,用于topBus
向终端块馈电的信号:
logsout.getElement (topBus) .Values.a .firstConst.data (2, 2)
下面是访问总线阵列信号记录数据的其他示例。有关显示如何记录总线阵列数据的另一个示例,请参阅sldemo_mdlref_总线
.
对于具有具有相同信号名称的多个信号的模型,信号测井数据包括金宝appSimulink.SimulationData.Signal
对象,用于具有重复名称的每个信号。
要访问具有重复名称的特定信号,请使用一个其中:
要找到特定信号的数据,可以直观地检查显示的输出金宝appSimulink.SimulationData.Signal
对象。
使用金宝appSimulink.SimulationData.Dataset.getElement
方法,指定信号的源块的块路径。
要迭代具有重复信号名称的信号,使用金宝appSimulink.SimulationData.Dataset.getElement
方法的索引参数。
使用“信号属性”对话框指定一个不同的名称。当具有重复名称的信号在普通模式下没有出现在被引用模型的多个实例中时,请考虑使用这种方法。
在模型中,右键单击信号。
在上下文菜单中,选择属性.
在“信号属性”对话框中,设置日志的名字来习俗
并指定一个与信号名称不同的名称。
模拟模型并使用金宝appSimulink.SimulationData.Dataset.getElement
方法的名称参数。
提示
或者,您可以使用信号记录选择器访问特定信号。有关详细信息,请参阅覆盖信号记录设置与信号记录选择器.
在使用数据集
格式,使用sprintf
指挥getElement
呼叫例如:
topOut.getElement (sprintf (“增量\ nBUS”))
金宝appSimulink.SimulationData.Dataset