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