导出仿真数据
导出或记录仿真数据为分析和调试模型提供了基准。使用标准或自定义 MATLAB® 函数来生成仿真系统输入信号,以及对系统输出进行绘图、分析或执行其他后处理。
仿真数据
仿真数据可以包括信号、时间、输出、状态和数据存储日志数据的任意组合。
导出仿真数据包括在仿真过程中将信号值保存到 MATLAB 工作区或 MAT 文件中,以便于在以后进行分析和后处理。导出数据也称为“数据记录”或“保存仿真数据”。
您可以用几种格式记录数据:
结构体
带时间的结构体
时间序列
数组
请考虑将以其他格式记录的数据转换为 Dataset
格式,以简化后处理。有关详细信息,请参阅Convert Data to Dataset Format。
您还可以使用记录的数据作为仿真模型的输入。
记录仿真数据
您可以使用以下方法中的一种或多种来记录仿真数据。
记录方法 | 用法 | 文档 |
---|---|---|
启用输出记录并将信号连接到根级 Outport 模块 | 如果模型已包含 Outport 模块,请考虑使用此方法记录顶层模型中的数据。 | |
启用信号记录,并在整个模型中标记要记录的信号 | 使用信号记录可避免向模型添加模块。 使用通过信号属性或检测属性指定的单个信号记录速率来记录信号。 当仿真暂停或停止时,或当仿真完成时,数据可用。 | |
将信号连接到 Record 模块 | 您可以使用 Record 模块将数据记录到工作区、文件或同时记录到工作区和文件。 Record 模块支持将数据记录到 MAT 文件、Microsoft® Excel® 文件或 MLDATX 文件。 您可以使用包括迷你图、时间图和 XY 绘图在内的多种可视化方式来可视化在 Record 模块中记录的数据。 | |
将信号连接到 To Workspace 模块。 | 指定用来存储所记录信号数据的变量的名称。 以不同于基本采样率的采样率保存输出。 | |
将信号连接到 To File 模块。 | To File 模块将数据保存到 MAT 文件中,而不是保存到工作区中的变量中。 以不同于基本采样率的采样率保存输出。 仅在仿真完成后使用 MAT 文件。 | |
配置 Simulink® 以导出时间和状态数据。 | 要捕获整个仿真的完整信息,请考虑导出这些数据。 状态以模型的基本采样率进行记录。 | |
记录数据存储 | 记录在整个模型层次结构中共享数据的数据存储,以捕获所有数据存储写入的顺序。 | Log Data Stores |
将一个 Scope 模块连接到一个信号。 | 以不同于基本采样率的采样率保存输出。 示波器会存储数据,并且可能会占用大量内存。 |
启用仿真数据导出
要在仿真过程中将模型的状态和根级输出端口导出到基础工作区,请使用以下接口之一:
使用“配置参数”对话框配置要记录的数据。在建模选项卡的设置下,点击模型设置。然后,选择数据导入/导出窗格。有关详细信息,请参阅模型配置参数:数据导入/导出
使用
set_param
函数以编程方式配置要记录的数据。为
sim
函数提供输入,以配置要为特定仿真记录的数据。配置参数值在仿真期间应用,并在仿真结束时还原。
在每种方法中,指定:
您要导出的仿真数据的种类:
信号记录
时间
输出
状态或最终状态
数据存储
您记录的每个类型的仿真数据的记录变量名称。每种类型的仿真数据都有具有默认名称的关联记录变量。
如何记录仿真数据,包括:
使用仿真数据检查器查看记录的数据
要以交互方式检查导出的仿真数据,请考虑使用仿真数据检查器。
仿真数据检查器对显示的记录数据的种类有一些限制。请参阅在仿真数据检查器中查看数据。
内存性能
优化记录数据
在非快速加速仿真模式下导出仿真数据时,Simulink 会在以下情况下优化内存使用。
当时间步以固定间隔发生时,Simulink 使用压缩时间表示。Simulink 存储第一个时间戳的值、间隔的长度(时间步)以及时间戳的总数。
当多个信号使用相同的时间戳序列时,这些信号共享一个存储的时间戳序列。共享一个存储的时间戳可以将记录数据所需的内存量减少达一半。内存差异可能是关键的性能因素,尤其是在记录包含成千上万个元素的总线时。
记录到持久存储
在具有许多时间步的长时间仿真中记录多个信号时,您可能会遇到内存问题。记录到持久存储可以解决这种内存问题。
要记录到持久存储,请在配置参数 > 数据导入/导出窗格中选择将数据集数据记录到文件选项。指定记录的种类(例如,信号记录和状态记录)。
要记录输出和状态数据,请将格式参数设置为“
数据集
”。如果选择最终状态参数,请清除保存最终工作点参数。
如果使用 Simulink.SimulationData.DatasetRef
对象访问信号记录和状态记录数据,则会以增量方式将数据加载到模型工作区中。如果访问其他种类的记录数据,则会一次性加载所有数据。
有关详细信息,请参阅Log Data to Persistent Storage。
另请参阅
模块
- Record, XY Graph | Outport | To Workspace | To File | Scope