我有一个庞大而复杂的MATLAB程序.在其中的某个地方,数字0正在被发射,所以当我运行它时,我看到这一次重复了很多次:
ans =
0
Run Code Online (Sandbox Code Playgroud)
这看起来很乱,所以我想摆脱它.有没有简单的方法让我弄清楚输出的来源?
你有几个选择:
在MATLAB编辑器中打开每个脚本/函数,这将在视觉上指示哪些行缺少终止分号(假设代码分析器首选项中未禁止警告).请注意此示例函数中的橙色波浪线:
使用函数CHECKCODE(以前称为MLINT)在脚本/函数中查找缺少终止分号的行.对于上面的示例函数:
>> mlint('test')
L 2 (C 4): Terminate statement with semicolon to suppress output (in functions).
Run Code Online (Sandbox Code Playgroud)使用命令回显.这将在评估时将每行代码打印到命令窗口.然后,您所要做的就是查找不需要的输出之前的行,以找到缺少终止分号的位置.我会尝试在命令行中键入以下选项之一:
echo name_of_your_file on; %# Turns on echoing for the function file
echo on all; %# Turns on echoing for all function files
Run Code Online (Sandbox Code Playgroud)
预先警告......您可能会使用此选项将大量输出转储到命令窗口.