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