如何在Matlab中创建一个矩阵句柄/指针的数组?

4

我有一些不同大小的相关矩阵,希望能够逐步访问它们。有没有一种简单的方法在Matlab中创建指向这些矩阵的句柄或指针的向量?或者说这不是我应该这样做的方式吗?

例如,在这里,我想把句柄分配给以i为索引的向量,该句柄将是不同大小的矩阵。

rows = [1:6];
columns = [10:2:20];
for i=1:6
    vector_of_pointers(i) = ones(rows(i),columns(i));
end

可能是Matlab中的矩阵数组的重复问题。 - gnovice
1个回答

3
在Matlab中,实际上并没有指针。
相反,您可以将数组收集在一个单元数组中,就像这样。
rows = [1:6];
columns = [10:2:20];
for i=1:6
    arrayOfArrays{i} = ones(rows(i),columns(i));
end

要访问第三个数组,您可以写成arrayOfArrays{3},如果您只想要它的第二行,则可以写成arrayOfArrays{3}(2,:)
您还可以使用ARRAYFUN创建您的数组。
arrayOfArrays = arrayfun(@(u,v)ones(u,v),rows,columns,'uniformOutput',false)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接