Effacer les filtres
Effacer les filtres

Creating cell array of strings in a loop

1 vue (au cours des 30 derniers jours)
Craig
Craig le 4 Déc 2012
Hi all,
I have a few lines as such:
timeStrings = cell(1,entries_per_variable);
for o = 1:1:entries_per_variable
timeStrings{o,1} = [num2str(TimeValue(3,o),'%02i'),'/', num2str(TimeValue(2,o),'%02i'),'/', num2str(TimeValue(1,o),'%04i'),...
' ',num2str(TimeValue(4,o),'%02i'),':',num2str(TimeValue(5,o),'%02i'),':',num2str(TimeValue(6,o),'%02i')]; %this be a column vector
end
It basically converts some values in TimeValue to strings, adds some spaces and slashes using the [] string catenation method and puts them in a new cell array.
I'm running out of memory less than 50 entries in! As you can see the memory is preallocated so I can't fathom why.
Best regards,
Craig B
  1 commentaire
Jos (10584)
Jos (10584) le 4 Déc 2012
... you pre-allocate a 1xN array, but intend to fill a Nx1 array, ending up filling a NxN array ... (This should not give you memory problems though)
I also suggest you take a look at SPRINTF.

Connectez-vous pour commenter.

Réponse acceptée

Craig
Craig le 4 Déc 2012
Ok I got the dimensions of the preallocation wrong. Should have been timeStrings = cell(entries_per_variable,1);
Best regards,
Craig

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by