在MATLAB中%#ok <SAGROW>注释意味着什么?

Isa*_*aac 8 matlab comments

我遇到过很多有%#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
Run Code Online (Sandbox Code Playgroud)

对于这个评论还有其他参考,对于instace:

And*_*ein 6

它抑制了mlint警告.在这种特定情况下,它不是预先分配数组.

mlint是Matlab的静态代码分析工具之一.它发现可能的错误并显示警告.

编辑(1):我刚刚注意到你的问题是关于SAGROW,而不是AGROW.我找不到.我的猜测是它是一个旧的/新的mlint语法.


Pyt*_*Nic 6

一般答案(针对尖括号中的不同值):

键入msgid:SAGROW在首选项- >代码分析器。

对于其他人msgid:<your-ok-msg-id>

编辑: 最短的方法,1. 删除注释,2. 阅读下划线代码段的 codeanalyzer 工具提示。