![]() |
如何识别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.