Is there another way to write test{1,1:10}=' ' ?

2 views (last 30 days)
Because obviously test{1,1:10}=' ' doesn't work:
"The right hand side of this assignment has too few values to satisfy the left hand side."
I had previously done test=cell(1,10) but ideally I want some sort of blank value in there that's not [] so when I later do a char() on each entry in the cell it won't complain that it can't do it.
  1 Comment
Megna Hari
Megna Hari on 19 Aug 2014
Also, I dont want a for loop like this:
for i=1:10
test{1,i}='';
end
because it takes too long and this is going to be in a function that gets called approximately 1,870,000 times using cellfun.

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 19 Aug 2014
test(1,1:10) = {' '}

More Answers (1)

Jan
Jan on 20 Aug 2014
Or shorter, if all elements are wanted:
test = cell(1,10);
test(:) = {' '};
Or:
test = repmat({' '}, 1, 10);

Community Treasure Hunt

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

Start Hunting!