使用for循环绘制一组图形时,例如:
for ei=1:length(E),
hnds(ei) = plot(1:nP, avgR(ei,:), [clrStr(ei),'-'] );
end
Run Code Online (Sandbox Code Playgroud)
hnds(ei)变量的代码中有一个(著名的)警告:
变量hnds(ei)似乎在每次循环迭代时都会更改大小。考虑预先分配速度。
但是,当我尝试预分配变量时:
hnds = zeros(1,length(E));
Run Code Online (Sandbox Code Playgroud)
此新行还有另一条警告,在预分配的详细信息中说:
建议的操作:避免将内存预先分配给分配给另一个函数输出的变量。
有什么办法可以消除此警告,还是应该忽略它?
只需%#ok在行的末尾添加特殊注释,它将禁用与此行相关的所有警告:
hnds = zeros(1,length(E)); %#ok
Run Code Online (Sandbox Code Playgroud)
您也可以使用特殊%#ok<specific1, ...>注释来禁用非常特定的警告,而不禁用其他警告。检查此链接以获取更多详细信息。