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.

回答 (3 件)

Walter Roberson
Walter Roberson 2015 年 7 月 17 日

0 投票

s = struct('Name',{0,0},'Name2',{0,0});
That is, use a cell array, one entry per struct member.
prasanth s
prasanth s 2022 年 12 月 14 日

0 投票

s=struct;
s(1).Name=0
s(2).Name=0
Stephen23
Stephen23 2022 年 12 月 14 日
移動済み: Stephen23 2022 年 12 月 14 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

質問済み:

2015 年 7 月 17 日

移動済み:

2022 年 12 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by