我想在一组Matlab函数中抑制变量的输出。问题是作者忘了“;”在代码中的许多位置。出于调试目的,此输出很有用,但现在我想要抑制它,而不是搜索缺少“;”的整个代码。是否有可能关闭这种输出?
答案 0 :(得分:29)
您可以使用evalc来抑制输出,但这需要您将表达式作为字符串传递。例如,如果您使用:
[A,B,C] = notMyFunction(d,e,f);
您可以使用
[T,A,B,C] = evalc('notMyFunction(d,e,f);');
现在,任何转到控制台的输出都会被缓冲并存储在T
中。
答案 1 :(得分:1)
最后用分号调用这些函数怎么样?所以不要打电话
my_function()
只需输入
即可my_function();
修改:http://www.mathworks.de/help/techdoc/ref/evalc.html evalc('my_function()');
编辑2:太晚了
答案 2 :(得分:1)
很抱歉,但是当你添加分号失败时,没有简单的方法可以关闭显示到命令窗口。只需自己添加分号。
是的,您可以重载显示和显示,阻止它们按预期工作,但是在正常情况下它们也将无法工作。你将破坏matlab中有价值的部分。
很抱歉,但在函数调用结束时添加分号对内部行是否没有分号没有影响。那些内部未终止的行仍然会将其结果转储到命令窗口。
答案 3 :(得分:-2)
调用函数时,需要在末尾加上一个“;”符号,否则无论用户函数还是matlab预定义的函数都会显示输出。