当字段的大小可变时,尝试预分配结构数组是否有价值?例如:
A.x = randn(1,randi(100));
A.y = randn(1,randi(100));
for k = 2:1000
A(k).x = randn(1,randi(100));
A(k).y = randn(1,randi(100));
end
我可以创建第一个条目,然后使用 repmat,但 MATLAB 仍然必须处理未知的字段长度。在我的测试中,与仅仅让它动态增长相比,几乎没有/没有改进。顺便说一句,用括号(例如A = [A nextEntry])增长它要慢得多。
有没有一种聪明的方法来进行预分配以加快速度?