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

1 次查看(过去 30 天)
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 个评论
Megna Hari
Megna Hari 2014-8-19
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.

请先登录,再进行评论。

采纳的回答

the cyclist
the cyclist 2014-8-19
test(1,1:10) = {' '}

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by