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

时间:2011-05-14 13:53:56

标签: matlab pointers

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

例如,这里我想分配给用i索引的向量,它将是不同大小矩阵的句柄。

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

1 个答案:

答案 0 :(得分:3)

在Matlab中,没有真正的指针。

相反,您可以在单元格数组中收集数组,如此

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

要访问数组#3,您可以编写arrayOfArrays{3},如果只需要第二行,则可以编写arrayOfArrays{3}(2,:)

您还可以使用ARRAYFUN

创建阵列
arrayOfArrays = arrayfun(@(u,v)ones(u,v),rows,columns,'uniformOutput',false)