2011-05-14 39 views
4

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

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

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

可能重复你的阵列http://stackoverflow.com/questions/466972/array-of-matrices-in-matlab ) – gnovice 2011-05-15 05:39:39

回答

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,:)

您还可以创建使用的([矩阵在MATLAB中的数组] ARRAYFUN

arrayOfArrays = arrayfun(@(u,v)ones(u,v),rows,columns,'uniformOutput',false) 
相关问题