I've encountered many MATLAB codes which have a %#ok<SAGROW>
comments. This comment is used in different circumstances and I can't figure it out what it means.
As an example:
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
There are other references to this comment too, for instace:
General answer (for different values in the angle brackets):
Type
msgid:SAGROW
in Preferences -> Code Analyzer.For others
msgid:<your-ok-msg-id>
.edit: shortest way, 1. remove the comment, 2. read the codeanalyzer tooltip of the underline piece of code.
I don't know about
SAGROW
, butAGROW
would mean that a given array/vector/matrix<name> might be growing inside a loop. Consider preallocating for speed
.It suppresses
mlint
warnings. In this specific case, it is about not pre-allocating an array.mlint is one of the static code analysis tools that Matlab has. It finds possible errors and shows warnings.
Edit(1): I've just noticed that your question is about
SAGROW
, notAGROW
. I could not find it. My guess is that it is an old/new mlint syntax.