主要内容

记录仿真数据的数据格式

基于块的记录数据的数据格式

你可以使用范围到文件,或到工作空间块来导出模拟数据。每个块都有一个数据格式参数。

基于模型的记录数据的数据格式

基于模型的仿真数据导出的数据格式指定了Simulink如何金宝app®保存导出的数据。

金宝appSimulink使用不同的数据格式,这取决于您导出的数据类型。更多细节,请参阅:

信号记录格式

信号测井总是使用数据集格式。您可以指定是否记录单个信号的数据为timeseries时间表对象。

控制如何数据集元素保存时,设置数据集信号格式配置参数。默认值是timeseries.有关详细信息,请参见数据集信号格式

数据集信号格式参数应用于信号日志记录,以及设置时的输出和状态数据格式参数数据集

日志数据存储格式

当您记录数据存储数据时,Simulink使用金宝app金宝appSimulink.SimulationData.Dataset对象。

有关详细信息,请参见访问数据存储日志数据

时间、状态和输出数据格式

对于导出的时间、状态和输出数据,可以使用以下格式之一:

如果您选择配置参数>数据导入/导出>输出复选框时,Simuli金宝appnk将定点数据记录为double。要记录定点数据,可以考虑使用以下方法之一:

  • 信号记录—详细信息请参见使用信号记录导出信号数据

    1. 在Simuli金宝appnk编辑器中,选择一个或多个信号。

    2. 点击测井信号

  • 到文件

  • 到工作空间block -在到工作空间“块参数”对话框中,启用作为fi对象记录定点数据参数。

有关已记录最终状态数据的格式的信息,请参见状态信息

数据集

默认情况下,时间、状态和输出使用数据集格式。的数据集格式:

  • 将记录数据存储在timeseries时间表对象。您可以使用保存在timeseries时间表在MATLAB对象®没有Simulink金宝app许可证。

  • 金宝app支持为给定的时间步骤记录多个数据值,在对迭代器子系统,一个而迭代器子系统, Stateflow®

  • 不支持在函数调用子金宝app系统内或快速加速模拟期间记录状态。

  • 不支持代码生成。金宝app

信号记录总是使用数据集格式。的日志状态和输出数据数据集Format允许您在不为不同类型的日志数据编写自定义代码的情况下对模拟数据进行后处理。当您使用数据集格式,数据也会在仿真期间自动流到仿真数据检查器。

数组

如果你选择这个数组选项,Simul金宝appink将模型的状态和输出分别保存在一个状态和一个输出数组中。

属性中指定的状态矩阵名称配置参数>数据导入/导出窗格中(例如,xout).状态矩阵的每一行对应于模型状态的时间样本。每一列对应一个状态元素。例如,假设您的模型有两个连续状态,每个状态都是一个二元向量。然后状态矩阵每一行的前两个元素包含第一个状态向量的时间样本。每一行的最后两个元素包含第二个状态向量的时间样本。

中指定的模型输出矩阵的名称配置参数>数据导入/导出窗格中(例如,).每一列对应一个模型输出端口,每一行对应特定时间的输出。

请注意

只有当记录的数据符合时,才使用数组格式保存模型输出和状态所有这些条件:

  • 数据是所有的标量或所有的向量(或所有的状态矩阵)

  • 数据要么是真实的,要么是复杂的

  • 所有数据都具有相同的数据类型

  • 数据包括总线信号

如果您的模型输出和状态不满足这些条件,则使用结构结构随着时间的推移输出格式(见结构随着时间的推移).

结构随着时间的推移

如果选择这种格式,Simulink将模型状态和输出保存金宝app在结构中,这些结构的名称在配置参数>数据导入/导出窗格。缺省情况下,结构为xout对州和为输出。

用于保存输出的结构有两个顶级字段:

  • 时间

    包含一个模拟时间的向量。

  • 信号

    包含一个子结构数组,每个子结构对应一个模型输出端口。

每个子结构有四个字段:

  • 包含对应输出端口的输出。

    • 如果输出是标量或向量字段是一个矩阵,其中的每一行表示由相应时间向量元素指定的时间的输出。

    • 如果输出是矩阵(2-D)值-field是一个维度为m × n × t的三维数组。m × n是输出信号的维数,T是输出样本的个数。

    • 如果T = 1 - MATLAB去掉最后一个维度。因此,域是一个m × n矩阵。

  • 指定输出信号的尺寸。

  • 标签

    指定连接到输出端口的信号的标签,功能块,或状态的类型(连续或离散)。标签是DSTATECSTATE, S-Function块状态标签除外。为功能块状态标签为离散状态,标签是状态的名称(而不是DSTATE).

  • blockName

    指定对应的带有状态的输出端口或块的名称。

  • inReferencedModel

    如果信号字段记录驻留在引用模型中的块的最终状态,包含值为1.否则,该值为false (0).

下面的示例显示了非引用模型的带时间结构格式。

xout.signals (1)
ans = values: [296206x1 double] dimensions: 1 label: 'CSTATE' blockName: 'vdp/x1' inReferencedModel: 0

用于保存状态的结构有一个类似的组织。states结构有两个顶级字段:

  • 时间

    时间字段包含模拟时间的向量。

  • 信号

    该字段包含一个子结构数组,每个子结构对应于模型的一种状态。

每一个信号Structure有四个字段:标签,blockName.的属性指定的块的状态的时间样本blockName字段。的标签内置块字段表示状态类型:eitherCSTATE(连续状态)DSTATE(离散状态)。对于S-Function块,标签包含由功能块。

状态的时间样本存储在字段作为值的矩阵。每一行对应一个时间样本。一行中的每个元素对应于状态中的一个元素。如果状态是一个矩阵,则矩阵存储在按列长顺序排列的数组。例如,假设模型包含一个2 × 2矩阵状态,并且在模拟运行期间记录了该状态的51个样本。

这个状态的字段将包含一个51乘4的矩阵。每一行对应于状态的一个时间样本,每一行的前两个元素对应于样本的第一列。最后两个元素对应于示例的第二列。

请注意

金宝appSimulink可以将仿真数据回读后保存到MATLAB工作空间中结构随着时间的推移输出格式。看到指定信号和时间数据的例子为更多的信息。

结构

这种格式与for相同结构随着时间的推移的输出格式,除了Simulink不存储仿真时间金宝app时间保存的结构字段。

另请参阅

|

相关的例子

更多关于