Preallocate memory for the rows of each field inside a structure

1 Ansicht (letzte 30 Tage)
L_Del
L_Del am 2 Jul. 2019
Bearbeitet: Stephen23 am 2 Jul. 2019
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

Antworten (1)

Stephen23
Stephen23 am 2 Jul. 2019
Bearbeitet: Stephen23 am 2 Jul. 2019
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:

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by