查找Matlab警告消息ID的最简单方法是什么?

时间:2019-04-17 13:36:28

标签: matlab

所有Matlab警告都有消息ID。可以使用内置的lastwarn方法找到它,例如:

>> A=zeros(6,6); inv(A); [~,msgID] = lastwarn

Warning: Matrix is singular to working precision. 

 msgID =

'MATLAB:singularMatrix'

但是,仅当特定警告可用时,此方法才有效。 如果模拟产生许多不同的警告,我如何获得它们的消息ID?进行仿真并暂停使用lastwarn似乎并不方便。是否可以配置内置警告方法以打印出消息ID?

1 个答案:

答案 0 :(得分:2)

warning函数具有一些可以使用的有用标志。出于您的目的,在代码顶部或控制台中的某个位置,键入:

warning ON VERBOSE

或等价物:

warning('on','verbose')

根据说明文件:

  

“警告详细信息”和“警告详细信息”控制显示   在以下情况下,额外的一行有用的文本包含警告标识符:   显示警告。


设置此标志后,您将获得每个警告的消息ID(无需调用lastwarn):

>> A=zeros(6,6); inv(A);
Warning: Matrix is singular to working precision.
(Type "warning off MATLAB:singularMatrix" to suppress this warning.)