【发布时间】:2011-03-03 01:25:51
【问题描述】:
我正在使用的函数中有display()(或其他在命令窗口上显示消息的东西),所以当我运行我的代码时它会在命令行上输出很多东西(x 1200),这使得事情难以追踪和观察。
有没有办法抑制这个特定函数的输出?用分号结束语句显然没有帮助。
【问题讨论】:
标签: matlab function output suppress
我正在使用的函数中有display()(或其他在命令窗口上显示消息的东西),所以当我运行我的代码时它会在命令行上输出很多东西(x 1200),这使得事情难以追踪和观察。
有没有办法抑制这个特定函数的输出?用分号结束语句显然没有帮助。
【问题讨论】:
标签: matlab function output suppress
您可以尝试将函数调用封装在 evalc 中:
evalc('out = func(arg1, arg2);');
【讨论】:
fprintf 调用,这比创建一个以后可能会忘记的私有 disp 风险要小得多。
最简单的方法是创建一个虚拟函数 DISP/DISPLAY 并将其与您自己的函数一起放在 private 文件夹中:
function disp(x)
return
end
function myFunc()
%# ...
disp(1)
end
通过将disp 函数放置在私有文件夹中,您可以覆盖具有相同名称的内置函数,但此版本仅对父目录中的函数可见,因此在其他位置保持原始功能。
确保不要将此私有文件夹添加到路径中,只在路径上添加 myFunc.m(请阅读relevantdocumentations)
【讨论】: