我想要抑制一组 Matlab 函数中变量的输出。问题是,作者在代码中很多地方忘记了使用 ";"。虽然为调试目的而有用,但现在我想要抑制它,而不必在整个代码中查找缺少 ";" 的位置。是否有可能关闭这种类型的输出?
我想要抑制一组 Matlab 函数中变量的输出。问题是,作者在代码中很多地方忘记了使用 ";"。虽然为调试目的而有用,但现在我想要抑制它,而不必在整个代码中查找缺少 ";" 的位置。是否有可能关闭这种类型的输出?
[A,B,C] = notMyFunction(d,e,f);
[T,A,B,C] = evalc('notMyFunction(d,e,f);');
现在所有本应输出到控制台的内容将被缓冲并存储在T
中。
在函数调用的末尾加上分号,会怎么样呢?这样,不是调用
my_function()
只需简单地输入
my_function();
编辑:http://www.mathworks.de/help/techdoc/ref/evalc.html evalc('my_function()');
编辑2:太晚了
抱歉,如果您未能添加分号,就没有简单的方法可以关闭命令窗口的显示。请自行添加分号。
是的,您可以重载disp和display函数,防止它们按照预期工作,但这样它们在正常情况下也无法工作。您将破坏Matlab的一个有价值的部分。
抱歉,但在函数调用末尾添加分号对内部没有分号的行没有影响。这些内部未终止的行仍将向命令窗口转储其结果。
evalc
就是答案。 - M.K. aka Grisu