kl.*_*kl. 6 matlab memory-management
我正在做以下事情
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可能会在循环中成长.考虑预先分配速度.
有任何想法吗?
Pet*_*ter 10
是.每次你四处走动,你的elseif块都在调整大小symbol_chip,这很昂贵.相反,重写你的代码,以便你symbol_chip = zeros(max_size, 1);在循环之前(比如说).然后,更改内容但不更改大小symbol_chip.
你需要稍微改变你的方法,但是如果你这样做会更快.如果您对目前的速度不感到烦恼,请不要改变任何东西!