固定步长增加时Simulink Integrator错误

时间:2019-06-19 20:11:17

标签: matlab simulink

我下载了Simulink模型,该模型希望以固定步长较大的方式运行,因为我对速度比对精度更感兴趣。

ode3:工作到Fixed-step size 3

Fixed-step size 4上的所有内容均会导致错误。 (诸如ode8之类的其他求解器会导致其他固定步长的错误。)

这是错误消息: Derivative of state '1' in block 'example_HeatPump/HeatPump/HeatPump_basic/model cold side/Integrator' at time 16.0 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) This is the block where the error occurs

有什么办法可以解决此错误?

1 个答案:

答案 0 :(得分:0)

只是增加了模型无法处理较大步长的原因。对于太大的步长,在仿真过程中可能会出现无法满足一个或多个建模约束的情况,从而导致这种错误。因此,您的模型中可能存在一些未知的约束,而这些约束是您不知道的。

仅举一个例子,如果您有一个用于多实体系统的闭环连接系统,则约束条件是模型中连接实体的铰链。对于太大的步长,在仿真过程中的某个时刻,铰链(连接主体1和2的位置)在主体1中的位置与同一铰链在主体2中的位置可能不一致。对于小的(数字)错误,有一些方法可以解决。大错误会导致问题。