MATLAB空单元格(n,m)字符串数组?

时间:2012-01-17 13:39:49

标签: string matlab cell

创建字符串空单元格数组的最快方法是什么?

cell(n,m)

创建一个double的空单元格数组。

类似的命令如何创建空字符串?

4 个答案:

答案 0 :(得分:12)

取决于你想要实现的目标。我想最简单的方法是:

repmat({''},n,m);

答案 1 :(得分:7)

使用冒号运算符对所有单元格元素进行分配将完成以下任务:

m = 3; n = 5;
C = cell(m,n);
C(:) = {''}

答案 2 :(得分:1)

由单元格(n,m)创建的单元格数组包含空矩阵,而不是双精度矩阵。 如果你真的需要用空字符串预先填充你的单元格数组

test = cell(n,m);
test(:) = {''};
test(1,:) = {'1st row'};
test(:,1) = {'1st col'};

答案 3 :(得分:1)

这是一篇非常古老的文章,但我想添加一种可能有效的方法。我不确定它是否适用于早期版本的MATLAB。我在2018年以上的版本中尝试过,并且有效。 代替使用remat,看起来像这样启动一个单元格字符串数组似乎更加方便和直观:

C(1:10) = {''} % Array of empty char

同样的方法可用于生成具有其他数据类型的单元格数组

C(1:10) = {""} % Array of empty string
C(1:10) = {[]} % Array of empty double, same as cell(1,10)

但是要小心洁牙机

C(1:10) = {1} % an 1x10 cell with all values = {[1]}
C(1:10) = 1 % !!!Error
C(1:10) = '1' % !!!Error
C(1:10) = [] % an 1x0 empty cell array