2012-01-17 117 views
4

什么是创建一个字符串空单元阵列的最快方法?MATLAB空细胞(N,M)的字符串数组?

cell(n,m) 

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

怎么样了类似的命令,而是创建空字符串?

+0

我有这样的事情:strEmptyCell = {“”}; repmat(strEmptyCell,N,M); ...比这更好吗? – HeinrichStack 2012-01-17 13:48:46

回答

11

取决于你想要达到真正的你的电池阵列。我想最简单的方法是:

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

这是写它的最短的方法。谢谢。 – HeinrichStack 2012-02-17 06:43:25

0

由细胞产生的单元阵列(N,M)包含空矩阵,不双打。 如果你真的需要预先填充空字符串

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

分配使用冒号运算符将做的工作的所有电池元件:

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

使用'repmat'或'deal'是矫枉过正。使用冒号运算符的简单赋值工作正常。 – Kavka 2012-01-17 14:45:01

+0

感谢您指出我的“交易”矫枉过正!你得到我的投票。试图删除我的答案,但它确实像那样工作。不确定repmat会是那种情况下的最坏分配。 – zeFrenchy 2012-01-17 15:27:51

+0

需要链接指出为什么repmat更慢...可能是这样的吗? http://blogs.mathworks.com/loren/2008/08/04/comparing-repmat-and-bsxfun-performance/ – ntg 2014-04-17 10:53:32