在MATLAB函数中调用warning()时,如何抑制行号


function myfunc(x)
if x == 1
display('x is equal to 1')
else
warning('Invalid input, default value 1 will be used')
end
end

当x不为1时,给出:

Warning: Invalid input, default value 1 will be used 
> In myfunc (line 5)

是否可以抑制> In myfunc (line 5)

您可以通过以下方式关闭回溯:warning('off','backtrace');

那么,你的代码可能是这样的:

function myfunc(x)
warning('off','backtrace')
if x == 1
display('x is equal to 1')
else
warning('Invalid input, default value 1 will be used')
end
warning('on','backtrace'); % added after @ Cris Luengo comment
end

输出为:

>> myfunc(1)
x is equal to 1
>> myfunc(2)
Warning: Invalid input, default value 1 will be used 
>> 

如果您不想在警告中使用堆栈跟踪,请不要使用warning,只需使用disp(或fprintf(输出警告:

disp('Warning: Invalid input, default value 1 will be used')

如果你需要用橙色文本突出显示警告,你可以使用这个技巧:

disp(['[', 8, 'Warning: Invalid input, default value 1 will be used]', 8])

相关内容

  • 没有找到相关文章

最新更新