主要内容

解算器分析器

确定解决性能瓶颈

描述

使用检查解算器和模型的求解程序分析器行为识别问题可以导致可怜的模拟性能。

利用求解程序分析器分析模式,影响其仿真的模型。解决分析器呈现图形仿真和统计信息,解算器设置、事件和错误。您可以使用这些数据来确定模型中的位置,导致模拟瓶颈。

此外,有多种因素限制了仿真速度。解算器分析器日志和报告的所有重大事件发生在模拟模型:

  • 讨论二阶导数过零事件

  • 解决异常事件

  • 解算器复位事件

  • 雅可比矩阵计算事件

这些事件是常见的和必要的准确模拟。但是,它们会计算成本和频繁的出现可以减缓甚至停滞的模拟。

可用的行动

  • 跟踪

  • 配置

  • 探索

信息窗格

  • 统计数据

  • 步长

  • 建议

打开解决分析器

  • 动态仿真模块®将来发布:调试选项卡,性能部分中,点击性能顾问,然后选择解算器分析器

    在Debug选项卡上,性能顾问名单扩大与解算器上的指针停了分析器的选择。

  • 解决信息菜单:打开解决信息菜单,点击右边的链接底部状态栏的模型编辑器。然后,单击解决分析器

    解决信息菜单按钮上的指针停了下来,打开了求解程序分析器。

例子

全部展开

解决使用分析器的零交叉定位源发生在仿真模型的一个弹跳球。

打开模型BouncingBallWithSwitch

打开解决分析器。在仿真软件™将来发布的调试选项卡,性能部分,单击性能顾问按钮箭头。然后,选择解算器分析器

在解算器分析器,单击运行。解算器分析器模拟模型和收集信息解算器的事件发生。当仿真完成,解决分析器显示信息统计数据面板和阴谋的步长计算的每一步模拟。

统计数据窗格中,向下滚动查看事件信息,这表明45零交点事件发生在模拟从一个来源。

查看信息的来源零交点事件,选择零交叉选项卡。零交叉事件来自开关部件。

注释的情节一步大小与零交点事件,统计数据窗格中,单击的值总零交叉行。黄色的圆点表示每个零穿越发生时。零交叉发生的,步长显著下降。

强调在框图开关部件产生零交叉,零交叉选项卡上,选择块路径。然后,在美国探险家将来发布的跟踪部分中,点击强调块

相关的例子

参数

全部展开

配置

时间,以秒为单位,分析器开始分析的仿真模型。这不是一样的开始时间的模拟。

的时间,以秒为单位,分析器应该配置的仿真模型。默认情况下,一直持续到结束的仿真分析。改变这个参数不会改变的停止时间模型,在模型中指定配置参数。

值小于配置模型的停止时间停止的分析和仿真StopTime

最大数量的事件记录。如果记录事件的数量达到这个值和内存可用,增加BufferSize。如果内存是有限的,考虑降低价值。

默认情况下,模型的分析器不拯救美国。启用该参数配置分析器来拯救美国垫性能分析数据文件。

如果你选择这个参数,它将使美国探险家。

启用该参数保存Simscape州垫性能分析数据文件。

如果你选择这个参数,它将使Simscape探险家。

启用该参数保存零交叉垫性能分析数据文件的信息

如果你选择这个参数,它将使零交点探险家。

选择日志求解雅可比矩阵内存。这个选项是有用的为使用隐式动力学的模拟。解决的比较,看看解决比较

雅可比矩阵解算器的更详细的解释,明白了选择一个雅可比矩阵方法隐式求解器进行求解

日志刚度分析Simscape州,指定为一个数组。这个参数提供了一系列时间点,你想日志分析器的Simscape刚度状态数据垫文件。启用该参数显示建议Simscape刚度选项卡窗格。

启用该参数记录的刚度分析Simscape州垫性能分析数据文件。更多信息的Simscape表示刚度和其他物理系统的概念,明白了Simscape模型表示物理系统如何(Simscape)

点击自定义规则在解算器分析器访问规则集。你可以改变这些规则的阈值对大多数并选择您想要应用的规则有选择地在模拟运行。

修改规则,使其定制,然后输入所需的阈值。

自定义的规则集

你可以覆盖上的设置规则集通过指定一个自定义的规则集对话框。

创建一个规则集作为MATLAB®脚本和指定的脚本的路径自定义的规则集部分的规则集对话框。

一个简单的规则集的例子如下:

函数diagnosticsString = customRule (profilerData)如果isempty (profilerData.zcEvents) diagnosticsString{1} =“未检测到零交叉事件。”;其他diagnosticsString{1} =“零交点检测事件。”;结束结束
函数的输入是一个结构数组profilerData。这个数组解决分析器的结构组织的所有信息收集分析运行期间。它包含以下子结构。

子结构 字段
stateInfo:存储的信息块
  • 的名字块的名字

  • 价值:状态值

  • blockIdx:块ID

blockInfo:交叉引用的街区和状态标识
  • 的名字块的名字

  • stateIdx:状态ID

zcSrcInfo:存储块导致零交叉事件信息
  • 的名字块的名字

  • blockIdx:块ID

zcEvents:交叉引用的零交叉事件的时间戳和相应的状态标识
  • t:事件的时间戳

  • srcIdx:块ID

exceptionEvents:交叉引用异常事件的时间戳,相应的状态导致了事件的ID,以及原因。
  • t:事件的时间戳

  • stateIdx:状态ID

  • 导致:引起的异常

resetTime:解决重置的存储时间戳。 没有一个
吹捧:存储仿真时间。 没有一个

视图

启用此参数来突出解决异常事件的步长求解程序分析器的情节。

启用此参数来突出解决重置事件分析器步长求解的情节。

启用此参数来突出雅可比矩阵更新事件的步长求解程序分析器的情节。

启用该参数强调零交叉事件步长求解程序分析器的情节。

版本历史

介绍了R2016a

Baidu
map