我想在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.
我在互联网上找不到有关此错误的任何内容。
这个错误是什么意思?我该如何解决这个问题?
答案 0 :(得分:1)
此错误在CVODE documentation中描述为"在一个内部时间步骤或达到最小步长期间发生过多次收敛测试失败。
在较少的技术术语中,这意味着你可能会遇到一些错误的数学问题。在你的模型中。由于模拟时间= 0时会发生此错误,因此可能意味着您的初始条件存在问题。也许你有一个初始分配或重复分配导致NaN(不是数字,如0除以0)或Inf(无穷大)。
要调试问题,您可以尝试将模拟停止时间设置为0并查看结果。确保所有数字都有意义。如果他们这样做,那么将所有这些数字插入任何反应率或费率规则,并确保这些有意义。
如果您仍然卡住并且可以共享模型,那么SimBiology开发团队可能会帮助您。 (我是其中之一。)最好联系我们的方式是联系技术支持。但在紧要关头,您可以尝试直接与我联系。