导出(日志记录)模拟数据为分析和调试模型提供了基线。使用标准或自定义MATLAB®生成模拟系统输入信号并对系统输出进行图形化、分析或后处理的功能。
仿真数据可以包括信号、时间、输出、状态和数据存储日志数据的任何组合。
导出仿真数据涉及在仿真过程中将信号值保存到MATLAB工作区或mat文件中,以供以后检索和后处理。导出数据也称为“数据记录”或“保存模拟数据”。
你可以用几种格式来记录数据:
数组
结构
结构随时间变化
MATLAB timeseries
ModelDataLogs
请注意
的ModelDataLogs
格式支持向后兼容。金宝app从R2016a开始,不能在ModelDataLogs
格式。在R2016a或更高版本中,当您打开使用过的早期版本中的模型时ModelDataLogs
格式,模型记录数据数据集
格式。
考虑将以其他格式记录的数据转换为数据集
格式简化后期处理。有关更多信息,请参见记录数据的数据集转换.
您还可以使用导出的数据作为模拟模型的输入。
导出仿真数据通常涉及导出信号数据。您可以使用各种方法导出信号数据。
出口方式 | 使用 | 文档 |
---|---|---|
连接一个范围阻塞到一个信号。 |
如果你使用范围块用于在模拟期间查看结果,也可以考虑使用范围块导出数据。 以基本抽样率以外的抽样率保存输出。 作用域存储数据,可能占用大量内存。 |
|
把一个信号连接到到文件块。 |
考虑使用To File块导出大量数据。 以基本抽样率以外的抽样率保存输出。 只有在模拟完成后才使用mat文件。 |
|
把一个信号连接到到工作空间块。 |
在图中记录用于存储信号数据的工作区变量。 以基本抽样率以外的抽样率保存输出。 |
|
将一个信号连接到根级外港块。 |
考虑使用此方法在顶级模型中记录数据,如果模型已经包含外港块。 |
|
为信号设置信号记录属性。 |
使用信号记录来避免添加块,例如范围,到文件,到工作空间积木,到你的模型。 根据单个信号速率记录信号。 当模拟暂停或完成时,数据可用。 使用信号日志记录总线信号阵列。 |
|
配置模型金宝app®导出时间、状态和输出数据。 |
要从整体上捕获关于模拟的完整信息,可以考虑导出此数据。 使用输出参数保存根目录外港模拟时阻塞数据。 输出和状态以模型的基本采样率记录。 |
|
记录数据存储的日志。 |
记录一个数据存储以在整个模型层次结构中共享数据,捕获所有数据存储写入的顺序。 |
日志数据存储 |
使用 |
使用 选择作为单个对象返回参数模拟模型时使用 |
sim卡 |
在模拟模型期间,要将模型的状态和根级输出端口导出到MATLAB基础工作空间,请使用以下接口之一:
配置设置>数据导入/导出窗格(详细信息,请参见模型配置参数:数据导入/导出)
sim卡
命令
在这两种方法中,指定:
要导出的模拟数据类型:
信号记录
时间
输出
状态或最终状态
数据存储
每种模拟数据导出都有一个相关联的默认变量。您可以为导出的数据指定自己的变量。
记录数据的特征,包括:
要以交互方式检查导出的模拟数据,请考虑使用模拟数据检查器.
模拟数据检查器对所显示的日志数据类型有一些限制。看到在模拟数据检查器中查看数据.
在非快速加速器模式下导出仿真数据时,Simulink会在以下情况下优化内存使用。金宝app
当时间步长以固定的间隔发生时,Simulink使用压缩时间表示。金宝app金宝appSimulink存储第一个时间戳的值、间隔的长度(时间步长)和时间戳的总数。
当多个信号使用相同的时间戳序列时,这些信号共享一个存储的时间戳序列。共享单个存储的时间戳可以将记录数据的内存使用减少两倍之多。内存性能的差异可能是一个关键的性能因素,特别是在记录具有数千个总线元素的总线信号时。
当您在具有许多时间步长的模拟中记录许多信号时,可能会遇到内存问题。记录到持久存储可以解决这类内存问题。
要登录到持久存储,请在配置参数>数据导入/导出窗格中,选择日志数据集数据到文件选择。指定日志的种类(例如,信号日志和状态日志)。
对于日志输出和状态数据,设置格式参数数据集
.
如果您选择最终状态参数,清除保存最终工作点参数。
使用一个金宝appSimulink.SimulationData.DatasetRef
对象以访问信号日志记录和状态日志记录数据,将数据增量地加载到模型工作空间中。访问其他类型日志记录的数据将一次性加载所有数据。
详细信息请参见将数据记录到持久存储.