Eri*_*ski 9 linux octave suppress-warnings
我正在使用Octave版本3.4.3,我收到此警告:
warning: fmincg.m:
possible Matlab-style short-circut operator at line 104, column 20
Run Code Online (Sandbox Code Playgroud)
我知道为什么会出现这个警告,我只想让警告在运行时不显示在屏幕上.
我知道我可以通过将此命令放在我的八度程序的顶部来抑制所有警告:
warning('off','all');
Run Code Online (Sandbox Code Playgroud)
但是这会禁用所有不良形式的警告.如何只禁用这个?
Eri*_*ski 12
在GNU Octave中通过警告类型禁用警告:
请参阅以下部分中的警告列表及其警告ID和名称:'12 .2.2启用和禁用警告'. https://octave.sourceforge.io/octave/function/warning_ids.html
使用octave命令列出警告名称和ID:
help warning_ids
Run Code Online (Sandbox Code Playgroud)
在发生警告之前将此命令放在八度程序中:
warning('off', 'Octave:possible-matlab-short-circuit-operator');
Run Code Online (Sandbox Code Playgroud)
或禁用所有警告
warning('off', 'all');
Run Code Online (Sandbox Code Playgroud)
注意:如果在运行脚本之前,八度解释器本身会抛出警告,那么您将不得不采取不同的方法.例如,使用octave yourfile.m 2>/dev/null
也会导致重定向八度引擎和脚本的stderr的不幸副作用.
某些警告会终止该过程,并且无法抑制,必须予以纠正:
像这个:
warning: function /home/el/octave/multicore-0.2.15/gethostname.m
shadows a built-in function
Run Code Online (Sandbox Code Playgroud)
要解决此问题,请将/home/el/octave/multicore-0.2.15/gethostname.m重命名为/home/el/octave/multicore-0.2.15/gethostname_backup.m.警告消失了.这是软件中的一个错误,其中两个文件具有相同的名称,因此程序不知道使用哪个文件.
要找出警告的ID,请发布
[text, id] = lastwarn()
Run Code Online (Sandbox Code Playgroud)
警告发生后直接发生.id
现在包含警告的id,可用于将其关闭:
warning('off', id)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11644 次 |
最近记录: |