Matlab:初始化空矩阵数组

时间:2016-12-03 17:08:18

标签: arrays matlab matrix

我需要创建一个空的矩阵数组,然后用相同大小的矩阵填充它。

我做了一个小脚本来解释:

result = [];

for i = 0: 4;
    M = i * ones(5,5); % create matrice
    result = [result,M];  % this would have to append M to results
end

此结果是一个大小为5*25的矩阵,我需要一个矩阵数组5*5*4

我已经研究过,但我只发现了这一行:result = [result(1),M];

1 个答案:

答案 0 :(得分:3)

问题是[]水平地隐式连接值(第二个维度)。在您的情况下,您希望沿着第三个​​维度连接它们,以便您可以使用cat

result = cat(3, result, M);

但更好的方法是使用result实际预先分配zeros数组

result = zeros(5, 5, 4);

然后在你的循环中填写每个"切片"带有值的3D数组。

for k = 0:4
    M = k * ones(5,5);
    result(:,:,k+1) = M;
end