创建并初始化单元格数组

时间:2014-10-09 15:16:30

标签: matlab

我正在寻找一种合适的方法来创建和初始化具有给定值的单元格数组。我可以想到以下oneliner

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

但我感觉很脏。

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:2)

更简单的替代方案:

C = repmat({val}, dim);