1

我一直在尝试在 simulink 中对 Fabry-Perot 谐振器进行建模。我不确定为这项任务选择 simulink 是否正确,但至少我已经得到了一些结果。但是,当我使用一对不同的耦合/反射参数时,我也遇到了代数环错误。它说,

“由于以下原因之一,Simulink 无法使用基于 LineSearch 的算法在时间 6.91999999999991 求解包含‘jblock_multi_MR/Meander2b/Subsystem3/Real-Imag to Complex’的代数环:模型定义不明确,即系统方程确实没有解;或者非线性方程求解器由于数值问题而无法收敛。要排除求解器收敛是导致此错误的原因,a) 使用 set_param('jblock_multi_MR','AlgebraicLoopSolver', 切换到基于 TrustRegion 的算法'TrustRegion') b) 减少 VariableStepDiscrete 求解器 RelTol 参数,以便求解器采用更小的时间步长。如果尽管进行了上述更改,错误仍然存​​在,则模型可能定义不明确,需要修改。

更改求解器无济于事。作为说明,我自然地根据电场和复杂信号实现了系统。

谢谢你的帮助。

4

1 回答 1

2

解决代数环问题没有神奇的解决方案,因为这些问题往往非常依赖模型。不过,这里有一些建议:

另请参阅对 SO 上类似问题的回答,并提供一些打破循环的建议。

于 2013-10-29T12:56:02.973 回答