how preallocate structure for better memory
Afficher commentaires plus anciens
I had created a structure made so:
head.number = 3;
head.pck_rcv = [1 0 0];
heads(2).number = 5;
head(2).pck_rcv = [1 1 0];
and so on.
How can I preallocate a structure?
Réponse acceptée
Plus de réponses (2)
Azzi Abdelmalek
le 22 Sep 2012
Modifié(e) : Azzi Abdelmalek
le 22 Sep 2012
heads=struct('numbers',zeros(10,1), 'pck_rcv',zeros(10,3))
%then
for k=1:n
heads.numbers(k)=2
heads.pck_rcv(k,:)=[1 2 3]
end
3 commentaires
Alexandra Simpson
le 2 Oct 2017
This should be the top answer IMO :)
Jan
le 2 Oct 2017
@Alexandra: I do not agree. Salvatore asked for a struct array: "head(2).numbers and so on". Azzi's suggestion creates a scalar struct only.
Alexandra Simpson
le 2 Oct 2017
True, I just tried it out and realised it wasn't what I wanted either! Thanks for the response.
Walter Roberson
le 13 Déc 2012
head = struct('number', {3, 5}, 'pck_rcv', {[1 0 0], [1 0 1]})
Catégories
En savoir plus sur Variables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!