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:
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
, not AGROW
. I could not find it. My guess is that it is an old/new mlint syntax.
I don't know about SAGROW
, but AGROW
would mean that a given array/vector/matrix <name> might be growing inside a loop. Consider preallocating for speed
.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With