我试图在MATLAB中模拟一个模型(使用日晷求解器),但我得到了以下错误:
CVODES returned -4 from module CVODES function CVode: At t = 0 and h = 1.3093e-009, the corrector convergence test failed repeatedly or with |h| = hmin.
我在网上找不到任何关于这个错误的信息。
这个错误是什么意思?我该怎么解决这个问题?
CVODE文档中将此错误描述为"在一个内部时间步长或达到最小步长期间,收敛测试失败次数过多。
用不太专业的术语来说,这意味着你的模型中可能有一些"糟糕的数学"。由于此错误发生在模拟时间=0时,这可能意味着您的初始条件有问题。也许你有一个初始赋值或重复赋值,结果是NaN(不是一个数字,比如0除以0)或Inf(无穷大)。
若要调试该问题,可以尝试将模拟停止时间设置为0并查看结果。确保所有的数字都有意义。如果他们这样做了,那么把所有这些数字代入任何反应速率或速率规则中,并确保这些都是有意义的。
如果你仍然被困,并且你可以共享模型,那么SimBiology开发团队可能会帮助你。(我就是其中之一。)联系我们的最佳方式是联系技术支持。但在紧急情况下,你可以试着直接联系我。