如果仿金宝app真软件®在你的模型中报告一个代数循环,代数循环求解器可能能够解决这个循环。如果S金宝appimulink不能解决这个循环,有几种方法可以消除这个循环。
使用此工作流来决定如何消除代数循环。
使用getAlgebraicLoops
来识别模型中的代数循环,并在Simulink编辑器中突出显示它们。金宝app用这种方法:
您可以遍历模型层次结构的多个层来定位代数循环。
你可以识别实数和人工代数循环。
您可以同时可视化模型中的所有循环。
您不需要钻入和钻出模型,也不需要跨越边界。
您不需要按顺序检测循环。此外,您不需要在每次检测和解决循环时编译模型。因此,您可以快速解决循环。
在整个模型上执行代数循环高亮显示,而不是在特定的子系统上。
打开模型。
在诊断“模型配置参数”窗格,设置代数循环来没有一个
或警告
.将该参数设置为错误
防止模型编译。
编译模型时不带任何错误。在突出显示任何代数循环之前,必须先编译模型。
在MATLAB®命令提示符中,输入:
金宝appSimulink.BlockDiagram.getAlgebraicLoops (bdroot)
的getAlgebraicLoops
函数强调模型中的代数循环,包括子系统中的代数循环。它还创建了一个包含每个循环信息的报告:
实线表示实代数循环。
虚线表示人工代数循环。
一个红色的高亮部分出现在分配了一个代数变量的块周围。
的循环ID帮助您识别包含特定循环的系统。
自定义报表通过选择或清除可见复选框用于循环。
一旦确定了模型中的代数循环,就可以通过编辑模型来删除它们。关闭突出显示报告并对模型进行更改。只有在关闭报表后,才能编辑模型。
金宝appSimulink不保存循环高亮显示。关闭模型或退出显示将删除循环突出显示。
金宝appSimulink在仿真初始化期间检测代数循环,例如,当您更新图表时。您可以设置代数循环诊断来报告错误或警告,如果软件检测到任何代数循环在您的模型。
在诊断窗格中,设置模型配置参数代数循环参数:
没有一个
Sim金宝appulink试图解决代数循环;仅在代数循环无法解决时报告错误。
警告
——代数循环导致警告。金宝appSimulink试图解决代数循环;仅在代数循环无法解决时报告错误。
错误
——代数循环停止初始化。在Simulink尝试解决循环之前,手动检查循环。金宝app
这个示例演示如何使用代数循环诊断突出显示sldemo_hydcyl
模型。
打开sldemo_hydcyl
模型
在诊断窗格中,设置模型配置参数代数循环参数错误
.
试着模拟这个模型
当Simu金宝applink在初始化过程中检测到代数循环时,模拟将停止。Diagnostic Viewer会显示一条错误消息,并列出模型中属于该代数循环的所有块。在模型中,红色高亮显示组成循环的块和信号。
要删除突出显示,请关闭诊断查看器。