在编写以下Matlab代码时:
for ii=1:n
x(ii) = foo( ii ); % foo is some function of ii that cannot be vectorized.
end
Run Code Online (Sandbox Code Playgroud)
我得到以下m-lint警告:
变量
x似乎在每次循环迭代时改变大小
我的问题:
这个问题是不能重复的这一个,因为它与预分配的更一般的问题,而是它的一个特定实例涉及.
我正在做以下事情
for i = 1:m,
index = 0;
for j = 1:n,
index = index+values(i,j)*2^(j-1);
if (j==1)
symbol_chip = chip_values(index+1,:);
else
symbol_chip = [symbol_chip chip_values(index+1,:)];
end
end
end
Run Code Online (Sandbox Code Playgroud)
它告诉我以下内容:
symbol_chip可能会在循环中成长.考虑预先分配速度.
有任何想法吗?