2014-10-09 44 views
4

我正在尋找一種體面的方式來創建和初始化具有給定值的單元陣列。我可以想到以下線索創建並初始化單元陣列

val = 'hello'; 
dim = [2, 4, 6]; 
arrayfun(@(x) val, zeros(dim), 'UniformOutput', false) 

但我覺得很髒。

+1

什麼像樣的意思嗎?更快,更少的線路或...? – kkuilla 2014-10-09 15:22:49

+1

這意味着更清潔,我的上述解決方案。是的,乾淨的代碼也是一個模糊的概念,但仍然是一個有用的概念。 – user1735003 2014-10-09 16:06:49

回答

2

一個簡單的選擇:

C = repmat({val}, dim); 
+1

+1 - 對我更優雅。 – rayryeng 2014-10-09 16:44:15

4

如果你想避免arrayfun,你可以做

C = cell(dim); 
C(:) = {val}; 

C = cell(dim); 
[C{:}] = deal(val); 
+0

O.o哦...交易()...這很有用! +1 – 2014-10-09 15:35:31