2

我意识到这已经被提出过;但我希望有人可以为我澄清一些事情。在我的模型运行期间的某个时刻,我的一个变量被计算为负数。但是,这是一个错误(它们只能是正数)。所以我需要找到发生这种情况的地方,跟踪产生错误源的地方。

该模型太大而无法手动执行此操作,因此我希望以某种形式使用 dbstop。通过阅读这里的帖子,我意识到这不仅仅是给出条件的情况(如果 var<0,则在 test.m 中的 dbstop);所以我希望使用条件 if 语句来显示错误(disp 'error'),我可以使用它: dbstop in test.m if error。然而; 我得到的是:'断点表达式'错误'导致错误。错误是 Error using==>error Too many output arguments。' 当我的变量变为负数时,谁能建议我隔离的方法?

4

1 回答 1

1

您可以尝试dbstop if error,然后在assert(var>=0)您认为它可能变为负数的地方在您的代码中尝试(即,如果不是,则抛出错误)

于 2014-02-11T13:07:25.783 回答