MATLAB学习笔记(Warning篇)

MATLAB,一直是自己最喜欢的一款软件,也是在不断学习,了解。本科期间看了很多matlab的教程,我现在都有点后悔了,毕竟看那么多效果一般的书,帮助没有那么大。好了,今天记录自己所学的,希望不要忘记。

1. Warning


warning(msg)

warning(msg,A1,...,An)

warning(msgID,___)

上面这些是显示警告信息,第二个是代表A1、A2替代前面msg的转义字符,比如%s,%c


warning(state)

warning(state,msgID)

warning

上面是执行对msgID的警告信息进行state操作。state可以是‘on’,'off','query',可以开、关、查询当今状态。msgID除了是普通的警告信息ID之外,还可以是all 或者last,代表对所有或者上一个的警告进行操作。


warnStruct = warning

warning(warnStruct)

warning(state,mode)

warnStruct = warning(state,mode)

mode可以是verbose 或者 backtrace。后面介绍这个很棒的功能。


1.1 关闭警告

1.1.1 第一种方法

w = warning('query','last');

warning('off',w.identifier);

MATLAB学习笔记(Warning篇)_第1张图片
Warning查询

这个功能返回上一次的警告,但是想关掉警告,需要知道msgID,也就是Mexception的ID。

于是,上面的就展示如何获取上一次警告的msgID,也就是identifier(标识符)。目前的警告开关是打开的,意思就是一旦出现这种警告,马上会显示警告信息。如果为‘off’,就是出现了警告,也不会提示警告信息。

1.1.2 第二种方法

[msg,msgID] = lastwarn;

warning('off',msgID)

也是可以关掉不想显示的警告。

1.2 重置警告

1.2.1 记录信息

每次重置之前,把之前的警告信息收集起来。

orig_state = warning;

然后,做完自己的工作后,恢复初始状态

warning(orig_state);

上面的方法,等价于:orig_state = warning('off','all');

MATLAB学习笔记(Warning篇)_第2张图片
恢复警告

1.2.2 未记录信息

cur_state  = warning('query','all') 

或者

cur_state  = warning

查询警告关闭的警告信息,找到你的目标,然后

warning('on',obj_warning),恢复之前的状态。


MATLAB学习笔记(Warning篇)_第3张图片
关闭显示信息的警告

1.2 verbose

显示关闭警告信息的方法。

warning on all

warning off backtrace

warning on verbose

开启全部警告,关掉stack(警告位置追踪),开启verbose,然后执行,

rmpath('folderthatisnotonpath')

MATLAB学习笔记(Warning篇)_第4张图片
verbose

这是一个好功能,提示如何关掉这个警告信息,只需要点击横线部分,就可以关闭当前这个警告信息。

1.3 backtrace

开启这个功能,会显示当前警告发生的位置,非常棒

warning on backtrace

warning off verbose

开启backtrace,关掉verbose。然后,执行

rmpath('folderthatisnotonpath')

MATLAB学习笔记(Warning篇)_第5张图片
backtrace

这个功能看到没,会提示警告发生的位置,是在rmpath这个函数的第70行,然后点击line 70,就可以进入到这个函数,然后检查自己的问题所在。

ok,现在马上快十一点了,实验室除了我,已经没人了。不过记录下今天的知识还是不错,虽然学的很少,哈哈。再接再厉啊

你可能感兴趣的:(MATLAB学习笔记(Warning篇))