禁止在MATLAB中打印到命令行



在回答之前,我不想寻找;抑制命令行打印的功能。

我有一套不是我的剧本,我没有能力改变。但是,在我的脚本中,我通过evalin('base', 'scriptName')调用这些其他脚本。不幸的是,这些其他脚本对命令窗口进行了大量不必要且丑陋的打印,我不想看到这些打印。在无法编辑这些其他脚本的情况下,我想要一种在执行这些其他脚本时禁止向命令行输出的方法。

一个可能的答案是使用evalc,但当我尝试evalc(evalin('base', 'scriptName'))时,MATLAB抛出一个错误,抱怨它不能将脚本作为函数执行。我希望有类似于禁用命令窗口打印的功能,或者将所有输出重定向到一些空文件,就像unix中的/dev/null一样。

我认为您只需要将evalc示例中的参数转换为字符串:

evalc('evalin(''base'', ''scriptName'')');

您尝试过这个解决方案吗在这里

echo off;

我不知道它是否符合您的需求,但另一个解决方案可以是打开一个新的Matlab会话,并只使用最小化的-nodesktop形式(仅使用命令窗口)。您可以从那里运行烦人的脚本,并像往常一样处理主会话。

这里的问题是会话不能同步,所以如果你需要一直处理脚本的结果,这会有点复杂。也许你可以把结果保存到磁盘上,而不是从主会话中调用它。。。但这主要取决于您使用这些脚本的工作流程。

相关内容

  • 没有找到相关文章

最新更新