Preallocate memory for the rows of each field inside a structure

Hi all
This should be pretty easy but I can't seem to find the right way to do this...
I have this structure, each of its fields are preallocated so field 1 = [ ], same for the rest. I'm filling the rows of each field one at a time so Matlab is complaining that I should preallocate the rows first. I tried nameofstructure(1:900).field1=[ ] but this doesn't work. I've also tried with the curly brackets with no avail.
What's the correct way to preallocate the rows once the fields have been preallocated? Thanks!
LD

Answers (1)

This should get you started:
>> S = struct('F',{[],[],[]});
>> S.F
ans =
[]
ans =
[]
ans =
[]
>> [S.F] = deal(zeros(3,5));
>> S.F
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
See:

Categories

Asked:

on 2 Jul 2019

Edited:

on 2 Jul 2019

Community Treasure Hunt

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

Start Hunting!