2012-01-17 120 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