文档

保存状态信息

保存每个模拟步骤的状态信息

您可以在模拟期间为每个模拟步骤保存已记录状态的状态信息。这种级别的状态信息对调试很有帮助。

  1. 选择配置参数>数据导入/导出>复选框。

  2. 编辑框中,如果不希望使用默认值,则可以为状态信息指定不同的变量xout变量。

  3. 还在数据导入/导出窗格中,设置格式参数数据集结构,或结构随着时间的推移,除非您为了兼容遗留模型而使用数组格式。

    数据集格式不支持:万博1manbetx

    • 日志记录函数调用子系统中的状态信息

    • 快速加速器模拟模式

    • 代码生成

  4. 点击应用

  5. 模拟模型。

保存部分最终状态信息

只保存记录的状态(块的连续和离散状态):

  1. 选择配置参数>数据导入/导出>最终状态复选框。

  2. 最终状态编辑框中,如果不希望使用默认值,则可以为状态信息指定不同的变量xFinal变量。

  3. 清除保存完成的SimState在最终状态参数。

  4. 设置格式参数数据集结构,或结构随着时间的推移

  5. 点击应用

  6. 模拟模型。

检查未使用SimState保存的状态信息

如果您启用配置参数>数据导入/导出>最终状态参数,仿真软件万博1manbetx®属性指定的格式保存状态信息格式参数。的默认变量最终状态信息是xFinal,状态信息的状态变量为xout

如果模型没有保存状态,则xFinalxout是空的变量。要确定模型是否已保存状态,请使用isempty (xout)命令。

数据集格式中的最终状态信息

例如,假设您将最终状态信息保存在数据集格式,使用默认值xFinal变量,用于保存的状态信息。

xFinal
名称BlockPa万博1manbetxth ______ _________ 1 [1x1 State] CSTATE vdp/x1 2 [1x1 State] DSTATE vdp/x2 -使用大括号{}访问,修改,或使用索引添加元素。

检查状态数据集的第一个元素。

xFinal {1}
ans = 万博1manbetxSimulink. simulationdata . state包:Simulink。模拟Data Properties: Name: 'CSTATE' BlockPath: [1x1 Simulink.SimulationData.BlockPath] Label: CSTATE Values: [1x1 timeseries]

最终状态信息的结构与时间格式

例如,假设您以时间格式的结构保存最终状态信息,并使用默认值xFinal变量,用于保存的状态信息。

的仿真时间和状态数vdp模型,输入xFinal变量。

xFinal
xFinal = time: 20 signals: [1x2 struct]

在本例中,模拟时间为20,并且有两种状态。要检查第一个状态,请使用此命令。

xFinal.signals (1)
ans = values: 2.0108 dimensions: 1 label: 'CSTATE' blockName: 'vdp/x1' stateName: " inReferencedModel: 0

blockName第一个状态结构的字段表明x1块输出信号的最终值为2.018。

请注意

如果您编写一个脚本来分析状态信息,请使用组合标签blockName值来唯一标识特定的状态。不要依赖于国家的秩序。

用SimState保存最终状态信息

要保存完整的状态信息,请保存SimState模拟。

  1. 选择配置参数>数据导入/导出>最终状态复选框。

  2. 同样在数据导入/导出窗格中,选择保存完成的SimState在最终状态参数。

  3. 的旁边的编辑框中保存完成的SimState在最终状态参数时,输入变量名SimState并点击应用

  4. 模拟模型。

的详细信息SimState,请参阅保存和恢复模拟状态为SimState

相关的例子

更多关于

这个话题有用吗?