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会生成一个报告,描述在每个函数上花费的模拟时间。
打开模型。
在调试选项卡上,选择性能顾问>激活分析器.
模拟模型。
仿真完成后,Simulink在MATLAB中生成并显示该模金宝app型的仿真轮廓®web浏览器。
汇总文件显示以下性能总数。
项 | 描述 |
---|---|
总记录时间 |
模拟模型所需的总时间 |
块方法数量 |
块级函数的调用总数(例如, |
内部方法数量 |
系统级函数的调用总数(例如, |
模型方法个数 |
模型调用的方法的数量 |
非虚拟子系统方法数 |
调用非虚拟子系统函数的总数 |
时钟精度 |
剖面仪时间测量的精度 |
时钟速度 |
分析器时间测量的速度 |
函数列表显示了为模拟模型而调用的每个函数的摘要概要。对于列出的每个函数,摘要概要文件指定此信息。
项 | 描述 |
---|---|
的名字 |
函数的名称。此项目是一个超链接。单击显示该功能的详细配置文件。 |
时间 |
执行该函数的所有调用所花费的总时间(绝对值)和占总模拟时间的百分比。 |
调用 |
调用该函数的次数。 |
时间/电话 |
每次调用该函数所需的平均时间,包括该函数调用的函数所花费的时间。 |
自我的时间 |
执行该函数所需的总时间,不包括在该函数调用的函数中所花费的时间。 |
位置 |
指定调用此函数的执行块或模型。此项目是一个超链接。单击它以突出显示模型图中相应的元素。 |
报告的这一部分包含了Simulink为模拟模型而调用的每个函数的详细概要文件。金宝app除了函数的摘要概要文件中的信息外,详细概要文件还显示调用被概要文件调用的函数(父函数)和被概要文件调用的函数(子函数)。单击父函数或子函数的名称以查看该函数的详细配置文件。
在父模型上启用Profiler并不会启用引用模型的分析。必须为每个引用的模型分别启用分析。只有在被引用的模型在Normal模式下执行时才会进行分析。看到正常模式为更多的信息。
被引用模型的报告与父模型的报告不同。
您可以将Profiler报告保存到MATLAB工作空间中的一个变量中,然后保存到垫
文件。稍后,您可以重新生成并查看该报告。
将Profiler报告保存为模型vdp
对该变量profile1
和数据文件report1.mat
.
在金宝app仿真软件性能分析报告的窗口,总结部分中,点击点击这里链接。金宝appSimulink将报告数据保存到变量中vdpProfileData
.
审查报告。在MATLAB命令提示符处,输入:
slprofreport
(vdpProfileData
)
将数据保存到一个名为profile1
在基本工作区中。
profile1 = vdpProfileData;
将数据保存到垫
文件命名report1
.
保存report1 profile1
要稍后查看报告,请在MATLAB命令提示符中输入:
负载report1 slprofreport (profile1);