我需要创建一个空的矩阵数组,然后用相同大小的矩阵填充它。
我做了一个小脚本来解释:
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];
答案 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