defining arrays of structure

3 views (last 30 days)
AP
AP on 1 Jun 2011
In order to increase the speed of processing, I am trying to define an array of structures before proceeding to my main code, say, 100×50 arrays of the same structure. How can I define it beforehand?
struct('dir1',{},'dir2',{},'x1',{},'x2',{},'x3',{},'x4',{})
is the following correct?
n1=100;
n2=50;
data{n1,n2}=struct('dir1',{},'dir2',{},'x1',{},'x2',{},'x3',{},'x4',{})
Thanks a lot for your quick reply :)

Accepted Answer

Jan
Jan on 1 Jun 2011
C = cell(100, 50);
S = struct('dir1', C, 'dir2', C ,'x1', C, 'x2', C, 'x3', C, 'x4', C);
Another method:
% S must be undefined before, otherwise use "clear('S')"
S(100, 50) = struct('dir1', [], 'dir2', [] ,'x1', [], ...
'x2', [], 'x3', [], 'x4', []);
  7 Comments
Jan
Jan on 1 Jun 2011
@Ahmad: The S(100, 50)=struct() is 3 times faster. But we are talking about 0.1e-3 sec. I assume that reading this message will waste more time than using the worse method.
AP
AP on 1 Jun 2011
Jan you're a real MATLABer :)
Thank you for your helps.

Sign in to comment.

More Answers (0)

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!