在Matlab中定义一系列不使用单元格的矩阵变量

时间:2017-08-20 19:46:13

标签: matlab variables matrix cell

这是我的代码:

A = zeros(10,10,10);
for i = 1:10
C{i} = A(:,:,i);
end

这只是一个简单的例子,我的问题是:有没有其他方法,不使用单元格(代码中的C {i})来表示一系列2D矩阵变量(A(:,:,i)在代码中)来自3D矩阵(A)。无论如何,我相信你需要一些变量名称,比如'i'。

提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以这样做:

A = zeros(10,10,10);
for i = 1:10
    eval(sprintf('A%d = A(:,:,%d)',i,i));
end

通过这种方式,您可以获得10个名称为A1,A2,...,Ai,......的矩阵。

无论如何我建议不要使用这种方法。具有单元阵列的那个更具可读性。