文档

分析器如何捕获性能数据

分析器的工作原理

Profiler在模型模拟时捕获性能数据。它确定模型中需要模拟的时间最多的部分。使用概要信息来决定将模型优化工作的重点放在哪里。

请注意

不能在快速加速模式下使用分析器。

金宝app®将性能数据保存在模拟配置文件报告.数据显示了在模型中执行每个函数所花费的时间。

Profiler的基础是伪代码总结的执行模型。

ModelInitialize Sim()()。ModelExecute() for t = tStart to tEnd Output() Update() integration()通过反复调用派生来计算状态:MinorOutput() MinorDeriv()通过反复调用:MinorOutput() MinorZeroCrossings() EndIntegrate设置时间t = tNew。EndModelExecute ModelTerminate EndSim

根据这个概念模型,Simulink通过调用以下函数0次、1次或多次来运行金宝app模型,这取决于函数和模型。

函数 目的 水平
sim卡

模拟模型。这个顶级函数调用模拟模型所需的其他函数。在这个函数中花费的时间就是模拟模型所需的总时间。

系统

ModelInitialize

建立仿真模型。

系统

ModelExecute

通过在仿真的开始到结束的每个时间步骤中调用每个块的输出、更新、集成等函数来执行模型。

系统

输出

计算当前时间步长的块的输出。

更新

在当前时间步更新块的状态。

集成

通过对当前时间步长的状态导数进行积分来计算块的连续状态。

MinorOutput

以较小的时间步长计算块输出。

MinorDeriv

计算一个块在小时间步长的状态导数。

MinorZeroCrossings

计算块在较小时间步长的过零值。

ModelTerminate

释放内存并执行任何其他结束模拟清理。

系统

Nonvirtual子系统

通过调用输出、更新、集成等函数,计算非虚拟子系统在当前时间步长的输出。在这个函数中花费的时间就是执行非虚拟子系统所需的时间。

分析器测量执行这些函数的每次调用所需的时间。在模型模拟之后,Profiler会生成一个报告,描述在每个函数上花费的模拟时间。

开始分析器

  1. 打开模型。

  2. 调试选项卡上,选择性能顾问>激活分析器

  3. 模拟模型。

仿真完成后,Simulink在MATLAB中生成并显示该模金宝app型的仿真轮廓®web浏览器。

总结部分

汇总文件显示以下性能总数。

描述

总记录时间

模拟模型所需的总时间

块方法数量

块级函数的调用总数(例如,输出()

内部方法数量

系统级函数的调用总数(例如,ModelExecute

模型方法个数

模型调用的方法的数量

非虚拟子系统方法数

调用非虚拟子系统函数的总数

时钟精度

剖面仪时间测量的精度

时钟速度

分析器时间测量的速度

函数列表显示了为模拟模型而调用的每个函数的摘要概要。对于列出的每个函数,摘要概要文件指定此信息。

描述

的名字

函数的名称。此项目是一个超链接。单击显示该功能的详细配置文件。

时间

执行该函数的所有调用所花费的总时间(绝对值)和占总模拟时间的百分比。

调用

调用该函数的次数。

时间/电话

每次调用该函数所需的平均时间,包括该函数调用的函数所花费的时间。

自我的时间

执行该函数所需的总时间,不包括在该函数调用的函数中所花费的时间。

位置

指定调用此函数的执行块或模型。此项目是一个超链接。单击它以突出显示模型图中相应的元素。

详细的剖面图

报告的这一部分包含了Simulink为模拟模型而调用的每个函数的详细概要文件。金宝app除了函数的摘要概要文件中的信息外,详细概要文件还显示调用被概要文件调用的函数(父函数)和被概要文件调用的函数(子函数)。单击父函数或子函数的名称以查看该函数的详细配置文件。

请注意

在父模型上启用Profiler并不会启用引用模型的分析。必须为每个引用的模型分别启用分析。只有在被引用的模型在Normal模式下执行时才会进行分析。看到正常模式为更多的信息。

被引用模型的报告与父模型的报告不同。

保存分析器的结果

您可以将Profiler报告保存到MATLAB工作空间中的一个变量中,然后保存到文件。稍后,您可以重新生成并查看该报告。

将Profiler报告保存为模型vdp对该变量profile1和数据文件report1.mat

  1. 金宝app仿真软件性能分析报告的窗口,总结部分中,点击点击这里链接。金宝appSimulink将报告数据保存到变量中vdpProfileData

  2. 审查报告。在MATLAB命令提示符处,输入:

    slprofreportvdpProfileData
  3. 将数据保存到一个名为profile1在基本工作区中。

    profile1 = vdpProfileData;
  4. 将数据保存到文件命名report1

    保存report1 profile1

要稍后查看报告,请在MATLAB命令提示符中输入:

负载report1 slprofreport (profile1);

相关的例子

更多关于