2014-10-09 47 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