我想在Matlab中创建具有不同维度的多个数组。 有没有办法在“for”循环中执行此操作?
例如,我想创建一个尺寸为100x100,然后是200x200等的矩阵A
答案 0 :(得分:4)
您可以创建一个存储矩阵的单元格:
a = cell(10,1);
for n=1:10
a{n} = zeros(n*100,n*100);
end
注意:要从单元格中获取项目,您应该使用{}而不是()。 a {1}返回第一个矩阵,a(1)返回包含该矩阵的单元格。
答案 1 :(得分:2)
尝试使用zeros
函数,而不是在循环内创建数组。
类似的东西:
B = zeros(m,n)
A = zeros(m,n)
这最初会快得多(因为每次添加元素时都不需要调整数组的大小);然后,您可以稍后迭代它并添加您需要的任何值。
编辑:我应该澄清一下,零函数创建一个m X n矩阵(如果你不使用第二个参数,则创建一个数组)并用全零填充它。这是构建大型数组的一个很好的起点。