我遇到了很多有%#ok<SAGROW>
条评论的MATLAB代码。这个评论用于不同的情况,我无法弄清楚它的含义。
举个例子:
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
对于这个评论还有其他参考,对于instace:
答案 0 :(得分:6)
它抑制mlint
警告。在这种特定情况下,它不是预先分配数组。
mlint是Matlab的静态代码分析工具之一。它发现可能的错误并显示警告。
修改(1)强>:
我刚刚注意到您的问题是关于SAGROW
,而不是AGROW
。我找不到。我的猜测是它是一个旧的/新的mlint语法。
答案 1 :(得分:4)
General answer(对于尖括号中的不同值):
在偏好设置中输入msgid:SAGROW
- &gt;代码分析器。
其他人msgid:<your-ok-msg-id>
。
修改强> 最短路,1。删除注释,2。读取下划线代码的codeanalyzer工具提示。
答案 2 :(得分:2)
我不知道SAGROW
,但AGROW
意味着给定的数组/向量/矩阵<name> might be growing inside a loop. Consider preallocating for speed
。