Anyway to Pre-allocate Memory for Struct

2 views (last 30 days)
nas illmatic
nas illmatic on 17 Jul 2015
Moved: Stephen23 on 14 Dec 2022
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)

Walter Roberson
Walter Roberson on 17 Jul 2015
s = struct('Name',{0,0},'Name2',{0,0});
That is, use a cell array, one entry per struct member.

prasanth s
prasanth s on 14 Dec 2022
s=struct;
s(1).Name=0
s(2).Name=0

Stephen23
Stephen23 on 14 Dec 2022
Moved: Stephen23 on 14 Dec 2022
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

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!