您可以在模拟期间为每个模拟步骤保存已记录状态的状态信息。这种级别的状态信息对调试很有帮助。
选择配置参数>数据导入/导出>州复选框。
在州编辑框中,如果不希望使用默认值,则可以为状态信息指定不同的变量xout
变量。
还在数据导入/导出窗格中,设置格式参数数据集
,结构
,或结构随着时间的推移
,除非您为了兼容遗留模型而使用数组格式。
数据集
格式不支持:万博1manbetx
日志记录函数调用子系统中的状态信息
快速加速器模拟模式
代码生成
点击应用.
模拟模型。
只保存记录的状态(块的连续和离散状态):
选择配置参数>数据导入/导出>最终状态复选框。
在最终状态编辑框中,如果不希望使用默认值,则可以为状态信息指定不同的变量xFinal
变量。
清除保存完成的SimState在最终状态参数。
设置格式参数数据集
,结构
,或结构随着时间的推移
.
点击应用.
模拟模型。
如果您启用配置参数>数据导入/导出>最终状态或州参数,仿真软件万博1manbetx®属性指定的格式保存状态信息格式参数。的默认变量最终状态信息是xFinal
,状态信息的状态变量为xout
.
如果模型没有保存状态,则xFinal
和xout
是空的变量。要确定模型是否已保存状态,请使用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在最终状态参数。
的旁边的编辑框中保存完成的SimState在最终状态参数时,输入变量名SimState
并点击应用.
模拟模型。
的详细信息SimState
,请参阅保存和恢复模拟状态为SimState.