创建字符串空单元格数组的最快方法是什么?
cell(n,m)
创建一个double的空单元格数组。
类似的命令如何创建空字符串?
取决于你想要实现的目标。我想最简单的方法是:
repmat({''},n,m);
使用冒号运算符分配所有单元格元素将完成工作:
m = 3; n = 5;
C = cell(m,n);
C(:) = {''}
由单元格(n,m)创建的单元格数组包含空矩阵,而不是双精度矩阵。如果你真的需要用空字符串预先填充你的单元格数组
test = cell(n,m);
test(:) = {''};
test(1,:) = {'1st row'};
test(:,1) = {'1st col'};
这是一篇超级老帖,但我想补充一种可能有用的方法。我不确定它是否在早期版本的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