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);
这个功能返回上一次的警告,但是想关掉警告,需要知道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');
1.2.2 未记录信息
cur_state = warning('query','all')
或者
cur_state = warning
查询警告关闭的警告信息,找到你的目标,然后
warning('on',obj_warning),恢复之前的状态。
1.2 verbose
显示关闭警告信息的方法。
warning on all
warning off backtrace
warning on verbose
开启全部警告,关掉stack(警告位置追踪),开启verbose,然后执行,
rmpath('folderthatisnotonpath')
这是一个好功能,提示如何关掉这个警告信息,只需要点击横线部分,就可以关闭当前这个警告信息。
1.3 backtrace
开启这个功能,会显示当前警告发生的位置,非常棒
warning on backtrace
warning off verbose
开启backtrace,关掉verbose。然后,执行
rmpath('folderthatisnotonpath')
这个功能看到没,会提示警告发生的位置,是在rmpath这个函数的第70行,然后点击line 70,就可以进入到这个函数,然后检查自己的问题所在。
ok,现在马上快十一点了,实验室除了我,已经没人了。不过记录下今天的知识还是不错,虽然学的很少,哈哈。再接再厉啊