在编写一个循环来给结构体数组中的某个结构体单元赋值时,matlab会提示“变量‘xxx’似乎会随着迭代次数而改变,请预分配内存以提高算法效率”。下面介绍一种预分配内存的方式:
首先,应该先定义好结构体数组中的单个结构体的数据结构,如:person=struct('name',[],'age',0,'sex',[]);
然后,确定在算法中自己所需的结构体数组的维度,如:30*40;
最后,调用repmat()函数,persons=repmat(person,[30 40]);
这样一个预分配好30*40的结构体数组就初始化完毕并分配好了内存。