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