MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何识别Matlab中的溢出错误? (https://www.labfans.com/bbs/showthread.php?t=23170)

poster 2019-12-10 20:30

如何识别Matlab中的溢出错误?
 
我花了昨天和今天的一部分时间来查找一些Matlab代码中的错误。我以为我的问题是索引(具有许多我尚未定义但仍会习惯的结构),但事实证明这是一个溢出错误。我由于特定原因错过了这个:

>> uint8(2) - uint8(1) ans = 1 >> uint8(2) - uint8(2) ans = 0 >> uint8(2) - uint8(3) ans = 0 我本来希望最后一个是-1 (或255 )。在大向量中间,很难检测到错误的0 s,但是255很容易引起注意。

关于将来如何轻松发现这些问题的任何技巧? (理想情况下,我想关闭溢出检查以使其像C一样工作。)当然,更改为double可行,但是如果我不知道首先要使用uint8 ,那就没有帮助。



[B]回答:[/B]

您可以先打开整数警告:

intwarning('on') 当整数算术溢出时,这会给您一个警告。

要小心的是,作为概括[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/intwarning.html"]这里[/URL] ,这确实减慢整数运算调试期间所以只能用这个。



[url=https://stackoverflow.com/questions/2366266]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 10:59

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.