我有一堆不同大小的相关矩阵,并希望能够逐步访问它们。有没有一种简单的方法可以在Matlab中创建一个句柄向量或指向这些矩阵的指针?或者这不是我应该这样做的方式吗?
例如,这里我想分配给用i索引的向量,它将是不同大小矩阵的句柄。
rows = [1:6];
columns = [10:2:20];
for i=1:6
vector_of_pointers(i) = ones(rows(i),columns(i));
end
答案 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)