什么是%#ok<;萨格罗>;MATLAB中的注释是什么?
我遇到过许多MATLAB代码,它们有什么是%#ok<;萨格罗>;MATLAB中的注释是什么?,matlab,comments,Matlab,Comments,我遇到过许多MATLAB代码,它们有%#ok注释。这个评论在不同的情况下使用,我不明白它是什么意思 例如: i = 1; flag = true; for l = 1:k while(flag==true) if(probs(i)~=0) leaves(l).val = i-1; %#ok<*SAGROW> leaves(l).zero = ''; leaves(l).one = '';
%#ok
注释。这个评论在不同的情况下使用,我不明白它是什么意思
例如:
i = 1;
flag = true;
for l = 1:k
while(flag==true)
if(probs(i)~=0)
leaves(l).val = i-1; %#ok<*SAGROW>
leaves(l).zero = '';
leaves(l).one = '';
leaves(l).prob = probs(i);
i = i + 1;
flag = false;
else
i = i+1;
flag = true;
end
end
flag =true;
end
i=1;
flag=true;
对于l=1:k
while(flag==true)
if(probs(i)~=0)
叶(l).val=i-1;%#好啊
叶(l)。零=“”;
叶(l)。一=“”;
叶(l)。prob=probs(i);
i=i+1;
flag=false;
其他的
i=i+1;
flag=true;
结束
结束
flag=true;
结束
对于Instance,此评论还有其他参考:
mlint
警告。在这种特定情况下,它是关于不预分配数组
是Matlab拥有的静态代码分析工具之一。它会发现可能的错误并显示警告
编辑(1):
我刚刚注意到你的问题是关于萨格罗的,而不是关于阿格鲁的。我找不到它。我猜这是一种旧的/新的mlint语法。我不知道
SAGROW
,但是AGROW
意味着给定的数组/向量/矩阵可能在循环中增长。考虑速度分配的速度< /代码> .(对于角括号中的不同值):
在首选项->代码分析器中键入msgid:SAGROW
对于其他msgid:
编辑:
最短的路,1。删除注释,2。阅读带下划线的代码段的codeanalyzer工具提示。是告诉MATLAB预先分配数组/矩阵以提高性能,还是它只是抑制预先分配警告?如何做相反的操作?@Eric右键单击带红色下划线的单词,然后选择“suppress[警告消息]…”->“在线”将为您提供消除此警告的正确代码。