主要内容

出口仿真数据

导出(日志记录)模拟数据为分析和调试模型提供了基线。使用标准或自定义的MATLAB®生成模拟系统输入信号,并对系统输出进行图形化、分析或其他后处理的函数。

仿真数据

模拟数据可以包括信号、时间、输出、状态和数据存储日志数据的任意组合。

导出仿真数据涉及到在仿真期间将信号值保存到MATLAB工作区或mat文件中,以便以后检索和后处理。导出数据也称为“数据日志记录”或“保存模拟数据”。

你可以用几种格式来记录数据:

  • 金宝appSimulink.SimulationData.Dataset

  • 数组

  • 结构

  • 结构随着时间的推移

  • MATLAB timeseries

  • ModelDataLogs

    请注意

    ModelDataLogs支持格式是为了向后兼金宝app容。从R2016a开始,您不能在ModelDataLogs格式。在R2016a或更高版本中,当您打开一个以前使用过的版本的模型时ModelDataLogs格式,模型记录数据数据集格式。

考虑将以其他格式记录的数据转换为数据集格式简化后处理。有关更多信息,请参见数据集转换日志数据

您还可以使用导出的数据作为模拟模型的输入。

输出信号数据的方法

导出仿真数据通常涉及到导出信号数据。您可以使用各种方法导出信号数据。

出口方式 使用 文档

连接一个范围信号闭塞。

如果你使用范围块在模拟期间查看结果,考虑也使用范围用于导出数据。

以基准抽样率以外的抽样率保存输出。

作用域存储数据,并且可能占用大量内存。

范围

连接一个信号到到文件块。

考虑使用To File块导出大量数据。

以基准抽样率以外的抽样率保存输出。

只有在模拟完成后才使用mat文件。

到文件

连接一个信号到到工作空间块。

在图中记录用于存储信号数据的工作区变量。

以基准抽样率以外的抽样率保存输出。

到工作空间

将一个信号连接到根级外港块。

如果顶层模型已经包含一个外港块。

外港

设置信号的信号日志记录属性。

使用信号日志记录来避免添加块,例如范围到文件,到工作空间块,到你的模型。

根据单个信号速率记录信号。

当模拟暂停或完成时,数据是可用的。

使用信号日志记录总线信号数组。

使用信号日志导出信号数据

配置模型金宝app®导出时间、状态和输出数据。

要从整体上获取有关模拟的完整信息,请考虑导出此数据。

使用输出参数保存root外港在模拟过程中对数据进行分组。

输出和状态以模型的基本采样率记录。

模拟数据日志格式

指定日志的信号值

要导出变步求解器的示例

记录数据存储。

记录数据存储以在整个模型层次结构中共享数据,捕获所有数据存储写操作的顺序。

日志数据存储

使用sim卡命令以编程方式记录模拟数据。

使用sim卡将时间、状态和信号模拟数据导出到一个数据对象。

选择作为单个对象返回参数时,模拟模型使用sim卡函数或parfor循环。

sim卡

启用仿真数据导出

在模型仿真过程中,要将模型的状态和根级输出端口导出到MATLAB基础工作区,请使用以下接口之一:

在这两种方法中,请指定:

使用模拟数据检查器查看记录数据

要交互式地检查导出的模拟数据,请考虑使用仿真数据检查

仿真数据检查器对它显示的日志数据类型有一些限制。看到在模拟数据检查器中查看数据

内存的性能

日志数据的优化

当以模拟模式导出模拟数据时,在以下情况下,Simulink会优化内存的使用。金宝app

  • 当定时步长发生时,Simulink使用压缩时间表示。金宝app金宝appSimulink存储第一个时间戳的值、间隔的长度(时间步长)和时间戳的总数。

  • 当多个信号使用相同的时间戳序列时,这些信号共享一个存储的时间戳序列。共享单个存储的时间戳可以将日志数据的内存使用减少两倍之多。内存性能的差异可能是一个关键的性能因素,特别是当记录有数千个总线元素的总线信号时。

登录到持久存储

当您在一个有许多时间步长的模拟中记录许多信号时,可能会遇到内存问题。记录到持久存储可以解决这类内存问题。

将日志记录到持久存储,在配置参数>数据导入/导出窗格中,选择日志数据集数据到文件选择。指定日志记录类型(例如,信号日志记录和状态日志记录)。

  • 要记录输出和状态数据,请设置格式参数数据集

  • 如果您选择最终状态参数,明确保存最终工作点参数。

使用一个金宝appSimulink.SimulationData.DatasetRef对象来访问信号日志记录和状态日志记录数据,将数据增量地加载到模型工作区中。为其他类型的日志访问数据会一次加载所有数据。

有关详细信息,请参见日志数据到持久化存储

另请参阅

功能

相关的例子

更多关于