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.

Réponses (3)

Walter Roberson
Walter Roberson le 17 Juil 2015
s = struct('Name',{0,0},'Name2',{0,0});
That is, use a cell array, one entry per struct member.
Stephen23
Stephen23 le 14 Déc 2022
Déplacé(e) : Stephen23 le 14 Déc 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

Catégories

Tags

Déplacé(e) :

le 14 Déc 2022

Community Treasure Hunt

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

Start Hunting!

Translated by