【发布时间】:2015-03-27 18:08:22
【问题描述】:
我有一个模型,它从 S-Function 调用用于热力学特性计算 (CoolProp) 的库。如果输入无意义,此库会引发错误并突然停止仿真,这有时会在 Simulink 扰乱状态时发生,尤其是当模型中存在 Step 模块时,即使其输出是浮动的!我认为这是预测系统状态变化的尝试,我注意到减小步长可以减少问题,但是我无法在 10 微秒(是的,微秒!)时间步长上运行 20'000 秒的模拟。 5 s 步长已经需要 15 分钟!
有没有办法捕获该错误(我想是通过调用 error() 引发的)并告诉 Simulink“哎呀,您使用的步长太大”?
编辑:我正在使用ode45 求解器,但即使使用ode23tb 或ode15s 也没有任何变化,除了模拟时间显着增加。
【问题讨论】:
标签: matlab exception-handling simulink