Anyway to Pre-allocate Memory for Struct

Is there anyway to pre-allocate memory for a struct?
I have a
1x2 struct with 2 fields.
>> s = struct('Name',0,'Name2',0)
But, it comes up as a 1x1 struct.

Answers (3)

s = struct('Name',{0,0},'Name2',{0,0});
That is, use a cell array, one entry per struct member.
Here are two generalizable, easily expandable appraches:
S = repmat(struct('Name',[],'Name2',[]),1,2)
S = 1×2 struct array with fields:
Name Name2
C = cell(1,2);
S = struct('Name',C,'Name2',C)
S = 1×2 struct array with fields:
Name Name2

Categories

Tags

Asked:

on 17 Jul 2015

Moved:

on 14 Dec 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!