s5s*_*s5s 10 arrays matlab initialization cell-array
我有一个矩阵(称之为X
),初始化说zero(3)
.
我想更改代码,以便X
是一个大小的单元格数组(比如说)(3,1)
并初始化每个元素zero(3)
.
我可以用循环来做但有更好的方法吗?
X = cell(3,1);
for ii=1:numel(X)
X{ii} = zeros(3);
end
Run Code Online (Sandbox Code Playgroud)
你可以这样做deal()
.
>> [X{1:3, 1}] = deal(zeros(3))
X =
[3x3 double]
[3x3 double]
[3x3 double]
Run Code Online (Sandbox Code Playgroud)
另一种方式:
X = repmat({zeros(3)}, 3, 1);
Run Code Online (Sandbox Code Playgroud)
另一个:
X = cell(3,1);
X(:) = {zeros(3)};
Run Code Online (Sandbox Code Playgroud)