Creating cell array of strings in a loop

5 Ansichten (letzte 30 Tage)
Craig
Craig am 4 Dez. 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 Kommentar
Jos (10584)
Jos (10584) am 4 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by