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

1 回表示 (過去 30 日間)
Megna Hari
Megna Hari 2014 年 8 月 19 日
回答済み: Jan 2014 年 8 月 20 日
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 件のコメント
Megna Hari
Megna Hari 2014 年 8 月 19 日
Thank you! That's exactly what I want :)

サインインしてコメントする。

その他の回答 (1 件)

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

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by