Preallocate memory for the rows of each field inside a structure

1 次查看(过去 30 天)
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

回答(1 个)

Stephen23
Stephen23 2019-7-2
编辑:Stephen23 2019-7-2
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:

类别

Help CenterFile Exchange 中查找有关 Performance and Memory 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by