如何解决代数循环我的仿真软件模型在仿真软件6.5 (R2006b) ?万博1manbetx

53视图(30天)
我正在寻找一些通用的诊断步骤,我可以遵循以解决代数环问题。
例如,我有一个简单的代数循环模型包括一个常数和一笔。当我常数的值增加到1 e8以上,我收到以下错误:
麻烦解决代数循环包含algebraicloop_problem / Sum1 0时刻。停止模拟。可能有一个奇点的解决方案。如果模型是正确的,试一试减少步长(通过减少固定步长或紧缩误差公差)。
我不接受这个错误常数值小于1 e8的时候。什么是最好的办法解决这样的问题呢?

接受的答案

MathWorks支万博1manbetx持团队
解决代数循环是一个迭代的过程。一个成功的解决方案的结果只有在解决代数循环收敛于一个明确的答复。一些代数循环不会收敛的代数环解算器仿真软件测试,以确定在这种情况下。万博1manbetx当无法收敛代数循环,或收敛过慢,迭代过程不会产生结果和退出没有解决方案,从而导致一条错误消息。
作为一个例子,考虑这个简单的模型,实现了一个代数循环常数块值设置为大于1 e8。使用信号下的集成电路块属性后的模型库,并将其代数变量,在这种情况下是algebraicloop_万博1manbetxproblem.mdl块之和。集成电路的值设置为常数的值。这个循环将收敛于解1 e7的恒定值,但失败1 e8常数时。通过提供一个初始条件接近于解决方案的收敛测试通过,并找到解决方案。
一般诊断,按照下面的指示解决代数环问题:
1。在MATLAB命令提示符输入以下:
sldebug (“modelname”)
2。来查看所有仿真软件调试器命令列表:万博1manbetx
帮助
3所示。显示列表的代数循环。
的演出
4所示。将代数循环跟踪级别设置为4,即一切:
atrace4级
5。将解算器跟踪等级设置为4,即一切:
strace4级
6。去下一个模拟点:
一步
或继续下一个断点:
继续
戒烟的MATLAB仿真软万博1manbetx件调试器并返回到命令提示符:
辞职
这些命令的输出获得还将提供信息采取的代数循环求解的迭代次数来解决代数变量。

更多的答案(2)

Kutaiba沙巴
Kutaiba沙巴 2017年6月13日
你好,
我有一个和你类似的问题,我解决它通过减少PQ公差至0.001,和这个值不是固定的依赖公共汽车的数量在您的模型中,当你有很多公共汽车,你需要减少该值,直到系统的工作原理。

她曾利马
她曾利马 2015年6月4日
然后我开始在MATLAB运行sldebug窗口,程序运行发生但停在71%,一整天。然后我关闭了MATLAB。我认为“sldebug”将告诉我什么循环(s)是错误的但是如果它尚未完成100%我不理解。我怎样才能解决呢

MathWorks支万博1manbetx持

类别

找到更多的在配置模拟条件帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!