MATLAB Answers

Initializing a char structure for a loop

21 views (last 30 days)
I am building up a char structure of file paths and names in a large for loop in the form
list=[]
for i =1:n
stuff
file = something
list=char(list,file)
end
My problem is that the first row of list is empty doing it like this. Is there a way to initialize a char array without creating an empty row? I can remove it afterwards but that seems messy.
And in case there is a generally better method of compiling file paths, I'm working within a pipeline that requires me to construct this.
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 May 2015
list = cell(n, 1);
for i = 1 : n
stuff
list{i} = file;
end
list = char(list);

  1 Comment

Jacob Matthews
Jacob Matthews on 8 May 2015
Thanks, I've been using list = list(2:end,:) after my loop, so same number of lines, but I imagine memory management is better your way. I was just hoping there was a different method of initialization for the list that wouldn't stack when char'd.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!