0

我正在尝试在 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.

我在互联网上找不到有关此错误的任何信息。

这个错误是什么意思?我怎样才能解决这个问题?

4

1 回答 1

1

此错误在 CVODE文档中描述为“在一个内部时间步或达到最小步长期间收敛测试失败发生太多次。

用较少的技术术语来说,这意味着您的模型中可能有一些“糟糕的数学”。由于此错误发生在仿真时间 = 0 时,这可能意味着您的初始条件有问题。也许您有一个初始分配或重复分配,导致 NaN(不是数字,如 0 除以 0)或 Inf(无穷大)。

要调试问题,您可以尝试将模拟停止时间设置为 0 并查看结果。确保所有数字都有意义。如果他们这样做了,那么将所有这些数字插入任何反应速率或速率规则中,并确保它们有意义。

如果您仍然遇到困难并且可以共享模型,那么 SimBiology 开发团队也许可以为您提供帮助。(我就是其中之一。)联系我们的最佳方式是联系技术支持。但在紧要关头,您可以尝试直接与我联系。

于 2017-01-12T20:57:07.483 回答