抑制函数的命令窗口输出

Ali*_*Ali 21 matlab function suppress output

我正在使用的函数display()(或在命令窗口上显示消息的其他东西),因此当我运行我的代码时它会在命令行上输出很多东西(x 1200),这使得很难跟踪和观察.

有没有办法抑制这个特定功能的输出?用分号结束语句显然没有帮助.

SCF*_*nch 23

您可以尝试在evalc中将调用包装到函数中:

evalc('out = func(arg1, arg2);');
Run Code Online (Sandbox Code Playgroud)

  • +1:evalc捕获所有输出,包括`fprintf`调用,并且它比创建一个人们可能会忘记的私有`disp`的风险要小得多. (2认同)

Amr*_*mro 10

最简单的方法是创建一个虚拟函数DISP/DISPLAY并将其private与您自己的函数一起放在一个文件夹中:

民营/ disp.m

function disp(x)
    return
end
Run Code Online (Sandbox Code Playgroud)

myFunc.m

function myFunc()
    %# ...
    disp(1)
end
Run Code Online (Sandbox Code Playgroud)

通过将disp函数放在私有文件夹中,可以覆盖具有相同名称的内置函数,但此版本仅对父目录中的函数可见,从而在其他位置保留原始功能.

确保你不要将这个私人文件夹添加到你的路径,只需在路径上有myFunc.m(请阅读相关 文档)

  • 更好:只需将其作为内部函数 - 位于文件的底部.这样,除了此函数之外,您不会污染名称空间. (6认同)