主要内容

出口仿真数据

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

仿真数据

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

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

你可以有数据记录在几种格式:

  • 金宝appSimulink.SimulationData.Dataset

  • 排列

  • 结构

  • 结构随着时间的推移

  • MATLAB timeseries

  • 模型数据日志

    请注意

    模型数据日志格式支持向后兼容性。金宝app从R2016a开始,不能记录模型数据日志格式。在R2016a或更高版本中,当你打开一个早期版本的模型时模型数据日志格式,模型记录数据数据集格式。

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

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

信号数据导出方法

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

出口方式 用法 文档

连接一个范围阻塞一个信号。

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

以抽样率而不是基本抽样率保存输出。

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

范围

将一个信号连接到另一个端口到文件块。

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

以抽样率而不是基本抽样率保存输出。

仅在模拟完成后使用MAT文件。

到文件

将一个信号连接到另一个端口工作空间块。

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

以抽样率而不是基本抽样率保存输出。

工作空间

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

考虑使用这种方法在顶级模型中记录数据,如果模型已经包含外埠块。

外埠

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

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

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

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

使用信号日志记录总线信号阵列。

使用信号记录导出信号数据

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

要捕获关于整个模拟的完整信息,请考虑导出该数据。

使用输出保存root的参数外埠在模拟过程中阻塞数据。

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

记录的模拟数据的数据格式

指定要记录的信号值

变量步长求解器要导出的示例

记录数据存储。

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

日志数据存储

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

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

选择返回为单个对象参数在模拟模型时使用sim卡函数或函数内部的命令parfor循环。

sim卡

启用模拟数据导出

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

在这两种方法中,指定:

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

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

Simulation Data Inspector在显示的日志数据类型上有一些限制。看到在模拟数据检查器中查看数据

内存性能

日志数据的优化

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

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

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

登录到持久存储

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

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

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

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

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

有关详细信息,请参见将数据记录到持久存储

另请参阅

阻碍

功能

相关的例子

更多关于