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

1 view (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);

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!